2013-06-03 54 views
3

我得到了遵循MySQL錯誤:錯誤指定的鍵太多;最多64個鍵允許

Too many keys specified; max 64 keys allowed. 

是否有可能增加最大指標在MySQL的大小,如果是,那麼我們如何能做到這一點?

+1

[MySQL錯誤1069個有太多的按鍵可能重複指定;允許最多64個鍵](http://stackoverflow.com/questions/5021586/mysql-error-1069-too-manykeys-specified-max-64-keys-allowed) –

回答

1

鑑於這裏的答覆:mysql error 1069 Too many keys specified; max 64 keys allowed 和這裏http://forums.mysql.com/read.php?22,53666,53666(2005年的舊線程,但仍然相關),似乎重新編譯和發佈似乎是你唯一的選擇。

這當然是很難的情況下,你的主機不允許你手動部署mySql安裝。

+3

這已經回答了你的問題(+ 1),但我想補充說,有一個64位以上的鍵最有可能不是沒有應該是這樣的。在極端情況下,您可以將表格水平分區爲兩個表格,每個表格上都有64個鍵,但我寧願解決規範化問題。 –

1

選項1)增加MAX_KEY value in 'sql/unireg.h'和recompilet代碼

選項2)你可以在配置階段指定此,即:

./configure --prefix=/usr/local/mysql --with-charset=cp1251 --enable-thread-safe-client --with-max-indexes=256 

入住這link

1

從文檔:「每個MyISAM表的最大索引數是64.這可以通過重新編譯來改變。Beginni使用MySQL 5.0.18,您可以通過使用--with-max-indexes = N選項調用configure來配置構建,其中N是每個MyISAM表允許的最大索引數。 N必須小於或等於128.在MySQL 5.0.18之前,您必須更改源代碼。「

因此,我們假設您使用的是MyISAM,如果您使用InnoDB,則可以獲得儘可能多的按鍵,只要你喜歡,只要數據長度爲3072字節的限制之內。

你爲什麼會有這麼多鑰匙?你能重新設計使用更少?

+0

@D Mac謝謝你,我們是大公司平臺提供商之一,我們的一些數據庫模式正在實時生成。所以我們的一些客戶遇到了這個問題,他們在一些表格中有超過70列需要編制索引。 – Salah

+0

然後,使用with-max-indexes重新配置MySQL可能是值得的。 –

+0

是的,我們終於決定,最好的選擇是重新配置我們的MySQL並添加新的驗證,然後部署任何需要建立索引的列。在這裏我想再次感謝你。 – Salah