是否有Hash索引應(yīng)該這樣理解:
(1)InnoDB用戶是無法創(chuàng)建Hash索引的 (2)InnoDB采用內(nèi)部自適應(yīng)建立哈希索引 例如select * from t where name='ls';name建了普通索引,發(fā)起普通索引查詢時:- (1)會先從普通索引查詢出主鍵;
- (2)再由主鍵,從聚集索引上二次遍歷定位到記錄

- 如果存儲的數(shù)據(jù)重復(fù)度很低,對該列數(shù)據(jù)以等值查詢?yōu)橹?,沒有范圍查詢、沒有排序的時候,特別適合采用哈希索引
- 當(dāng)業(yè)務(wù)有高并發(fā)的join操作,like操作和%的通配符操作,自適應(yīng)哈希索引中添加的read/write鎖也會帶來競爭,自適應(yīng)哈希索引的維護(hù)反而可能成為負(fù)擔(dān),降低系統(tǒng)效率,此時可以手動關(guān)閉自適應(yīng)哈希功能。
本文使用 文章同步助手 同步