真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL中InnoDBMRR優(yōu)化的示例分析

這篇文章將為大家詳細講解有關(guān)MySQL中InnoDB MRR優(yōu)化的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

從策劃到設(shè)計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名注冊、虛擬主機、網(wǎng)絡(luò)營銷、VI設(shè)計、 網(wǎng)站改版、漏洞修補等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。

前言

MRR 是 Multi-Range Read 的簡寫,目的是減少磁盤隨機訪問,將隨機訪問轉(zhuǎn)化為較為順序的訪問。適用于 range/ref/eq_ref 類型的查詢。

實現(xiàn)原理:

1、在二級索引查找后,根據(jù)得到的主鍵到聚簇索引找出需要的數(shù)據(jù)。

2、二級索引查找得到的主鍵的順序是不確定的,因為二級索引的順序與聚簇索引的順序不一定一致;

3、如果沒有 MRR,那么在聚簇索引查找時就可能出現(xiàn)亂序讀取數(shù)據(jù)頁,這對于機械硬盤是及其不友好的。

4、MRR 的優(yōu)化方式:

  • 將查找到的二級索引鍵值放在一個緩存中;

  • 將緩存中的鍵值按照 主鍵 進行排序;

  • 根據(jù)排序后的主鍵去聚簇索引訪問實際的數(shù)據(jù)文件。

5、當優(yōu)化器使用了 MRR 時,執(zhí)行計劃的 Extra 列會出現(xiàn) “Using MRR” 。

6、如果查詢使用的二級索引的順序本身與結(jié)果集的順序一致,那么使用 MRR 后需要對得到的結(jié)果集進行排序。

使用 MRR 還可以減少緩沖池中頁被替換的次數(shù),批量處理對鍵值的查詢操作。

可以使用命令 select @@optimizer_switch; 查看是否開啟了 MRR:

index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=off,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on

mrr_cost_based=on 表示是否通過 cost based 的方式來選擇使用 MRR 。

set @@optimizer_switch='mrr=on/off'; 命令開啟或關(guān)閉 MRR 。

select @@read_rnd_buffer_size ; 參數(shù)用來控制鍵值的緩沖區(qū)大小,默認 256K,當大于該參數(shù)值時,執(zhí)行器根據(jù)主鍵對已緩存的數(shù)據(jù)進行排序,然后再通過主鍵取得行數(shù)據(jù)。

關(guān)于“MySQL中InnoDB MRR優(yōu)化的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


網(wǎng)頁名稱:MySQL中InnoDBMRR優(yōu)化的示例分析
文章出自:http://weahome.cn/article/jpesjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部