眾所周知,InnoDB使用的索引結(jié)構(gòu)是B+樹,但其實(shí)它還支持另一種索引:自適應(yīng)哈希索引。
創(chuàng)新新互聯(lián),憑借10年的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)經(jīng)驗(yàn),本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上千家案例。做網(wǎng)站建設(shè),選成都創(chuàng)新互聯(lián)。
哈希表是數(shù)組+鏈表的形式。通過哈希函數(shù)計(jì)算每個節(jié)點(diǎn)數(shù)據(jù)中鍵所對應(yīng)的哈希桶位置,如果出現(xiàn)哈希沖突,就使用拉鏈法來解決。更多內(nèi)容可以參考 百度百科-哈希表
從以上可以知道,哈希表查找最優(yōu)情況下是查找一次.而InnoDB使用的是B+樹,最優(yōu)情況下的查找次數(shù)根據(jù)層數(shù)決定。因此為了提高查詢效率,InnoDB便允許使用自適應(yīng)哈希來提高性能。
可以通過參數(shù) innodb_adaptive_hash_index 來決定是否開啟。阿里云默認(rèn)是關(guān)閉的。
MySQL>show variables like '%innodb_adaptive_hash_index%' +----------------------------------+-----------------+ | Variable_name | Value | +----------------------------------+-----------------+ | innodb_adaptive_hash_index | OFF | | innodb_adaptive_hash_index_parts | 8 | +----------------------------------+-----------------+
存儲引擎會自動對個索引頁上的查詢進(jìn)行監(jiān)控,如果能夠通過使用自適應(yīng)哈希索引來提高查詢效率,其便會自動創(chuàng)建自適應(yīng)哈希索引,不需要開發(fā)人員或運(yùn)維人員進(jìn)行任何設(shè)置操作。
自適應(yīng)哈希索引是對innodb的緩沖池的B+樹頁進(jìn)行創(chuàng)建,不是對整張表創(chuàng)建,因此速度很快。
可以通過查看innodb的status來查看自適應(yīng)哈希索引的使用情況。
INSERT BUFFER AND ADAPTIVE HASH INDEX ------------------------------------- Ibuf: size 1, free list len 6236, seg size 6238, 50367801 merges merged operations: insert 78512159, delete mark 0, delete 0 discarded operations: insert 0, delete mark 0, delete 0 Hash table size 13148407, node heap has 0 buffer(s) Hash table size 13148407, node heap has 0 buffer(s) Hash table size 13148407, node heap has 0 buffer(s) Hash table size 13148407, node heap has 0 buffer(s) Hash table size 13148407, node heap has 0 buffer(s) Hash table size 13148407, node heap has 0 buffer(s) Hash table size 13148407, node heap has 0 buffer(s) Hash table size 13148407, node heap has 0 buffer(s) 0.00 hash searches/s, 67793.48 non-hash searches/s
可以看到自適應(yīng)哈希索引的大小,以及使用情況。
注意: 從哈希表的特性來看,自適應(yīng)哈希索引只能用于等值查詢,范圍或者大小是不允許的。
等值查詢: select * from xx where name = "xxx";
本文標(biāo)題:Innodb關(guān)鍵特性之AdaptiveHashIndex
新聞來源:http://www.rwnh.cn/article10/pcosdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、企業(yè)建站、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)