2013-04-03 52 views
1

我有一張表格,最終將有大約14億條記錄,11列,3個主鍵。MySQL分區注意事項

我已經填充了表的前1/3,查詢時間已經很慢了。爲了減少空間需求,我重新格式化了幾列,其中一個主鍵是一個類似索引的整數,鏈接到一個元數據表,每個索引擴展爲3個附加選項(有效地規範了6個主鍵到3個主鍵)。

我的下一個想法是創建很多分區。第二個主鍵是日期列,這是切片數據最常用的維度。我希望分區能夠有效地提高插入時間。

但是,我怎麼知道正確的分區數是多少?我最初的猜測是8,這太慢了。當我想我應該問的時候,我正準備嘗試100次,谷歌沒有給我任何有用的答案。

該表太大了,生成它的計算過程非常昂貴,因此嘗試使用很多不同的分區號是不可行的。所以對此的任何標準建議都非常有用。

+0

慢速查詢的結構是什麼? – Stoleg

回答

3

這裏就是你需要考慮:

  • 在MySQL 5.5+分區的最大數量爲1024
  • 您可以更改分區的數量沒有再生的數字,但它需要重建索引。
  • 只有在查詢命中分區不分區速度upqueries那麼你有可用核心

如果您的查詢命中所有或許多分區,然後以這種方式並不能幫助他們太多partitioing。 您的設置也可能有效,但硬件無法更快地生成結果。