我有一個mysql表,其中有超過3000萬條記錄最初與myisam一起存儲。下面是表的說明:Mysql中Innodb和Myisam之間的性能差異
我會跑反對此表下面的查詢一般需時約30秒才能完成。我會每次更改@eid以避免數據庫或磁盤緩存。
select count(fact_data.id)
from fact_data
where [email protected]
and fact_data.metric_id=1
我然後轉換此表的InnoDB不進行任何其他更改,之後同樣的查詢第二,每一次我運行該查詢返回下英寸即使當我隨機設置@eid以避免緩存時,查詢也會在一秒之內返回。
我一直在研究兩種存儲類型之間的差異,試圖解釋性能的戲劇性改進,但一直未能拿出任何東西。事實上,我讀到的大部分內容都表明Myisam應該更快。
我正在運行的查詢是針對本地數據庫的,在測試時沒有其他進程打到數據庫。
創建一個新的MyISAM表並對該表進行計時的合理簡單測試可以證實這種猜測。 – 2012-03-30 17:43:36