我正在計劃一張桌子的結構和編程,這個桌子將有大約10億行。COUNT在MySQL中有多快?
很多時候我想做一個SELECT COUNT(*) ON mytable WHERE somecol="5"
。 somecol
將有一個索引,並且是一個INT
。
選項1是我只有我的一個巨大的表,並使用SELECT COUNT(*)
如上所述。
方案2是我或者可以有一個額外的表,稱爲mytableofcounts
中,我只有兩列:somecol
和num
和我保持總次數的紀錄somecol
。此表格只有大約幾十萬行,並且somecol
將是唯一的。那麼我可以改爲SELECT num FROM mytableofcounts WHERE somecol="5"
。
我更喜歡選項1,因爲它在存儲和編程方面既簡單又有效,但我擔心的是它可能會很慢。通過使用選項2的額外表格來節省處理速度,還是與選項1一樣快?
相關http://stackoverflow.com/questions/10976328/mysql-count-performance-on-very-big-tables –
您應該測試選項1,看它是否足夠快。如果沒有,選項2聽起來像一個很好的計劃。 – James