2017-06-29 93 views
0

我有一個這樣的表。帶有散列索引的MySQL InnoDB表

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; 

後來我創建了一個像這樣的HASH索引。

CREATE INDEX index ON table (column) USING HASH; 

後者我嘗試了一些解釋查詢。

explain Select * from table where column=132; 

,我看到引擎使用上possible_keys,並在關鍵的東西指數索引的名字說!

但在文檔中說,InnoDB現在不允許散列索引,我想知道爲什麼我的innoDB應該允許散列索引?

回答

1

InnoDB默默地將「HASH」變成「BTree」。 BTree索引做HASH所做的,再加上更多。或者你認爲有什麼理由需要哈希?