4
由於MySQL在創建索引時默認使用BTREE
,是否有一些實例可以使用HASH
?例如,如果我的表只包含只有INT UNSIGNED
值的外鍵。在這種情況下用HASH覆蓋BTREE是否是一個很好的改進?MySQL何時可以使用HASH而不是BTREE
不知道它是否重要,但我使用InnoDB
。
由於MySQL在創建索引時默認使用BTREE
,是否有一些實例可以使用HASH
?例如,如果我的表只包含只有INT UNSIGNED
值的外鍵。在這種情況下用HASH覆蓋BTREE是否是一個很好的改進?MySQL何時可以使用HASH而不是BTREE
不知道它是否重要,但我使用InnoDB
。
HASH
索引類型僅支持MEMORY
(又名HEAP
)存儲引擎。
[B樹和散列索引的比較](http://dev.mysql.com/doc/en/index-btree-hash.html)。請注意,InnoDB不支持'HASH'索引。 – eggyal
[文檔](http://dev.mysql.com/doc/refman/5.5/en/index-btree-hash.html)很好地解釋了每個工作原理。 – Kermit