2010-09-01 34 views
1

我有一個表有幾個索引。它們都包含一個特定的整數列。 我正在轉移到mysql 5.1並且即將按此列對錶進行分區。mysql 5.1分區 - 我必須刪除索引/鍵元素嗎?

我是否仍然需要將此列保留爲索引中的鍵,或者我可以將其刪除,因爲分區將有效地僅在相關鍵數據中進行搜索而無需將其指定爲鍵?

+0

nos和f00。感謝您的答案。我的問題很簡單。它的是/否問題。 – Nir 2010-09-07 05:28:27

+0

然後我想答案是肯定的,不是。您不需要在要分區的列上有索引(例如,請參閱http://dev.mysql.com/tech-resources/articles/mysql_5.1_partitions.html)。 – nos 2010-09-14 21:37:57

回答

1

分區字段必須是索引的一部分,所以答案是我願意將分區列保留在我的索引中。

0

分區只會根據設置的方式將該索引的值/範圍分成不同的分區。您仍然希望在該列上具有索引,以便在完成分區修剪後可以使用該索引。

請記住,有多少分區可以有很大的影響,如果你有一個只有4個不同值的整數列,你可以創建4個分區,並且索引可能不會讓你受益太大,具體取決於您的查詢。

如果在整數列中有10000個不同的值,那麼如果嘗試創建10k個分區,則會達到系統限制 - 您必須在大範圍(例如0-1000,1001-2000等)這樣的情況下,你將從索引中受益(再次取決於你如何查詢表)