<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

        哈希(hash)是一種非常快的查找方法,一般情況下查找的時(shí)間復(fù)雜度為O(1)。常用于連接(join)操作,如SQL Server和Oracle中的哈希連接(hash join)。但是SQL Server和Oracle等常見(jiàn)的數(shù)據(jù)庫(kù)并不支持哈希索引(hash index)。MySQL的Heap存儲(chǔ)引擎默認(rèn)的索引類型為哈希,而InnoDB存儲(chǔ)引擎提出了另一種實(shí)現(xiàn)方法,自適應(yīng)哈希索引(adaptive hash index)。

    InnoDB存儲(chǔ)引擎會(huì)監(jiān)控對(duì)表上索引的查找,如果觀察到建立哈希索引可以帶來(lái)速度的提升,則建立哈希索引,所以稱之為自適應(yīng)(adaptive)的。自適應(yīng)哈希索引通過(guò)緩沖池的B+樹(shù)構(gòu)造而來(lái),因此建立的速度很快。而且不需要將整個(gè)表都建哈希索引,InnoDB存儲(chǔ)引擎會(huì)自動(dòng)根據(jù)訪問(wèn)的頻率和模式來(lái)為某些頁(yè)建立哈希索引。

    根據(jù)InnoDB的官方文檔顯示,啟用自適應(yīng)哈希索引后,讀取和寫(xiě)入速度可以提高2倍;對(duì)于輔助索引的連接操作,性能可以提高5倍。在我看來(lái),自適應(yīng)哈希索引是非常好的優(yōu)化模式,其設(shè)計(jì)思想是數(shù)據(jù)庫(kù)自優(yōu)化(self-tuning),即無(wú)需DBA對(duì)數(shù)據(jù)庫(kù)進(jìn)行調(diào)整。

    通過(guò)命令SHOW ENGINE INNODB STATUS可以看到當(dāng)前自適應(yīng)哈希索引的使用狀況,如下所示:

    1. mysql> show engine innodb status\G;  
    2. *************************** 1. row ***************************  
    3. Status:   
    4. =====================================  
    5. 090922 11:52:51 INNODB MONITOR OUTPUT 
    6. =====================================  
    7. Per second averages calculated from the last 15 seconds  
    8. ......  
    9. -------------------------------------  
    10. INSERT BUFFER AND ADAPTIVE HASH INDEX  
    11. -------------------------------------  
    12. Ibuf: size 2249, free list len 3346, seg size 5596,  
    13. 374650 inserts, 51897 merged recs, 14300 merges  
    14. Hash table size 4980499, node heap has 1246 buffer(s)  
    15. 1640.60 hash searches/s, 3709.46 non-hash searches/s  
    16. ...... 

    現(xiàn)在可以看到自適應(yīng)哈希索引的使用信息了,包括自適應(yīng)哈希索引的大小、使用情況、每秒使用自適應(yīng)哈希索引搜索的情況。值得注意的是,哈希索引只能用來(lái)搜索等值的查詢,如select * from table where index_col = 'xxx',而對(duì)于其他查找類型,如范圍查找,是不能使用的。因此,這里出現(xiàn)了non-hash searches/s的情況。用hash searches : non-hash searches命令可以大概了解使用哈希索引后的效率。

    由于自適應(yīng)哈希索引是由InnoDB存儲(chǔ)引擎控制的,所以這里的信息只供我們參考。不過(guò)我們可以通過(guò)參數(shù)innodb_adaptive_hash_index來(lái)禁用或啟動(dòng)此特性,默認(rèn)為開(kāi)啟。

     

     

    轉(zhuǎn)自http://www.cnblogs.com/ylqmf/archive/2011/09/16/2179166.html

    posted on 2014-12-24 18:25 abin 閱讀(1181) 評(píng)論(0)  編輯  收藏 所屬分類: mysql
    主站蜘蛛池模板: 久久亚洲私人国产精品| 亚洲男人的天堂一区二区| 亚洲av无码av制服另类专区| 人妻仑刮八A级毛片免费看| 日本二区免费一片黄2019| 亚洲日本VA午夜在线影院| 四虎影视免费在线| 亚洲乱色熟女一区二区三区蜜臀| 国产成在线观看免费视频| 亚洲五月综合网色九月色| 精品免费国产一区二区三区| 日韩国产欧美亚洲v片 | 亚洲av无码一区二区三区观看| 免费看又黄又无码的网站| 久久久久久亚洲精品成人| 亚洲电影在线免费观看| 激情五月亚洲色图| 四虎永久精品免费观看| xxxx日本在线播放免费不卡| 亚洲国产精品无码专区| 4399影视免费观看高清直播| 亚洲中文久久精品无码1| 全免费a级毛片免费**视频| 边摸边吃奶边做爽免费视频99| 亚洲不卡AV影片在线播放| 黄色网站软件app在线观看免费| 亚洲AV日韩精品久久久久久 | 337p日本欧洲亚洲大胆色噜噜| 国产香蕉免费精品视频| 在线播放亚洲精品| 亚洲国产精品无码久久一线| 97国产免费全部免费观看| 亚洲av日韩aⅴ无码色老头| 国产亚洲精品不卡在线| 最近免费最新高清中文字幕韩国| 亚洲精品无码日韩国产不卡av| 亚洲中文字幕无码爆乳av中文| 2021国内精品久久久久精免费| 亚洲国产综合AV在线观看| 亚洲人成图片小说网站| 麻豆最新国产剧情AV原创免费 |