我有一個表具有以下字段的MySQL數據庫:應該索引多少個字段,我應該如何創建它們?
ID | GENDER | BIRTHYEAR | POSTCODE
用戶可以搜索使用的任何字段的表中的任意組合(即SELECT * FROM table WHERE GENDER = 'M' AND POSTCODE IN (1000, 2000);
或SELECT * FROM table WHERE BIRTHYEAR = 1973;
)
從MySQL文檔,它使用左側索引。因此,如果我在所有4列上創建索引,則不使用ID字段的索引。我是否需要爲字段(ID; ID/GENDER; ID/BIRTHYEAR等)的每種可能組合創建一個索引,或者爲所有字段創建一個索引就足夠了?
如果它有什麼區別,這個表裏有300萬條記錄。
你沒有提到ORDER BY:如果使用ORDER BY ... LIMIT,使用索引來執行順序,同時可以獲得巨大的勝利。你最常見的是什麼? – peufeu 2009-10-22 09:37:45