精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深入聊聊MySQL直方圖的應用

數(shù)據(jù)庫 MySQL
直方圖用于描述數(shù)據(jù)表中列上的數(shù)據(jù)分布,這些關(guān)于數(shù)據(jù)分布的內(nèi)容,可以幫助優(yōu)化器更準確地估計給定的where子句或聯(lián)接條件將過濾掉表中多少數(shù)據(jù)。這里我們要清楚的一點,直方圖并不能像索引一樣可以幫助減少要訪問的行數(shù),它只是幫助優(yōu)化器選擇更合適的執(zhí)行計劃。

本文是在假定讀者了解了直方圖是什么,直方圖如何進行添加維護的前提下,圍繞直方圖與索引的對比、何時應該添加直方圖,及直方圖如何幫助優(yōu)化器選擇更優(yōu)的執(zhí)行計劃這幾個方面來介紹直方圖。

直方圖的作用

直方圖用于描述數(shù)據(jù)表中列上的數(shù)據(jù)分布,這些關(guān)于數(shù)據(jù)分布的內(nèi)容,可以幫助優(yōu)化器更準確地估計給定的where子句或聯(lián)接條件將過濾掉表中多少數(shù)據(jù)。這里我們要清楚的一點,直方圖并不能像索引一樣可以幫助減少要訪問的行數(shù),它只是幫助優(yōu)化器選擇更合適的執(zhí)行計劃。MySQL8開始支持直方圖,但實際上直方圖在MySQL中,不像在其他數(shù)據(jù)庫中那樣有用,因為MySQL能夠通過index dive,直接訪問索引對應的B+樹,來計算某個掃描區(qū)間內(nèi)對應的索引記錄條數(shù),所以直方圖不能與同一列上的索引一起使用,而且優(yōu)化器優(yōu)先使用索引。

直方圖與索引相比,優(yōu)點是什么

MySQL的索引既可以有效估算索引范圍內(nèi)的行數(shù),又可以幫助減少要訪問的記錄,為什么還要引入直方圖呢?與索引相比,直方圖的一個好處是,在確定過濾條件返回行數(shù)時直方圖比索引成本要低,直方圖的統(tǒng)計信息可以輕松用于優(yōu)化器,而索引在確定查詢計劃時,要執(zhí)行下潛操作來估算行數(shù),并且每次執(zhí)行查詢時都要重復執(zhí)行這樣的操作。講到這里可能大家會有一個疑問,不是有索引統(tǒng)計信息嗎,為何每次都要執(zhí)行下潛操作來估算呢?其實MySQL是這樣設計的,有一個參數(shù)eq_range_index_dive_limit(默認值200), 對于索引列而言,當存在與此參數(shù)設置相等或更大的區(qū)間范圍過濾條件時,優(yōu)化器將從下潛轉(zhuǎn)換為只使用索引統(tǒng)計信息來估算匹配行的數(shù)量。因為MySQL認為使用index dive估算比統(tǒng)計信息更準確,但是當過濾的區(qū)間范圍條件多,比如使用in來過濾,條目值達到1000,過濾區(qū)間就會有1000個,這樣index dive的成本太高,MySQL就傾向于使用索引統(tǒng)計信息了。似乎跑題了呢,回歸正傳。與索引相比,直方圖的第二個好處是,索引維護有代價,執(zhí)行DML操作時需要維護索引,所以索引多了就會影響DML操作的效率,直方圖統(tǒng)計信息只需在非業(yè)務高峰定期收集即可,對DML操作無影響。與索引相比,直方圖的第三個好處是,索引會增加表空間文件的大小,而直方圖統(tǒng)計信息占用的空間可忽略不計。

既無索引又無直方圖,優(yōu)化器如何估算返回行數(shù)

如果過濾條件上既沒有索引也沒有直方圖,優(yōu)化器如何估算過濾比例呢,優(yōu)化器會根據(jù)MySQL代碼中內(nèi)置的默認規(guī)則來估計過濾比例,相當于根據(jù)自己的想法瞎猜。默認的過濾比例以一個列表形式來展示如下:

過濾類型

過濾比例

等值過濾(=)

10%

不等于(<>或!=)

90%

不等式(< 或>)

33.33%

Between

11.11%

IN

Min(條目*10, 50)

舉個例子;執(zhí)行語句:explain select * from t1 where temporary= 'N';對t1表的字段 temporary 進行等值過濾。

圖片

從上圖可以看出,優(yōu)化器按規(guī)則估算過濾比例,filtered為10%,也就是估算返回行數(shù)為rows * filtered/100=7183行,而實際返回行數(shù)為72214,filtered=72214/72435=99.69。這個差異可謂很大了。

收集一下該列上直方圖的統(tǒng)計信息后,再去查看執(zhí)行計劃中的filtered,此時filtered就相當精確了。

圖片

數(shù)據(jù)分布不均勻時,MySQL以不變應萬變的處理規(guī)則,估算肯定是相當不準確的,因此在選擇執(zhí)行計劃時就有可能做出錯誤的決策。索引的維護有代價,不能在每個涉及條件的列上都加上索引,那么在不適合創(chuàng)建索引的列上創(chuàng)建直方圖,可以作為索引的補充,幫助優(yōu)化器更好的選擇執(zhí)行計劃。

何時應該添加直方圖

因為MySQL在sql優(yōu)化階段會對索引進行下潛操作來估算返回行數(shù),導致直方圖在MySQL中使用空間是有限的,那么究竟要在哪些列上創(chuàng)建直方圖,才能有效發(fā)揮直方圖的作用呢?創(chuàng)建直方圖的最佳候選是符合下列條件的列:

數(shù)據(jù)分布不均勻,或者具有太多值,以至于優(yōu)化器粗略估算無法很好的估計數(shù)據(jù)的選擇行。

選擇性差的列(否則索引可能是更好的選擇)

用于在where子句或聯(lián)接條件過濾表的數(shù)據(jù)。如果不對列進行過濾,則優(yōu)化器無法使用直方圖。

隨著時間推移,數(shù)據(jù)分布逐漸穩(wěn)定的列。直方圖統(tǒng)計信息不會自動更新。如果在數(shù)據(jù)分布頻繁變化的列上添加直方圖,則直方圖統(tǒng)計信息可能不準確。

直方圖應用舉例

其實直方圖對于單表訪問用處不大,主要體現(xiàn)在表聯(lián)接時,表的聯(lián)接方式有多種選擇時,直方圖才可以幫助確定何種選擇最好。舉個例子來說明。a1,a2兩個表做關(guān)聯(lián)查詢。兩個表結(jié)構(gòu)信息如下圖所示:

圖片

關(guān)聯(lián)查詢語句:select * from a1,a2 where a1.id=a2.id and a1.temporary='N' and a2.status='NOVALID';兩表在關(guān)聯(lián)條件的字段上都有索引,又都有額外的過濾條件,優(yōu)化器在選擇走嵌套聯(lián)接時,有兩種可能,一種a1驅(qū)動a2,一種是a2驅(qū)動a1,哪種方式更好,取決于兩表使用過濾條件過濾后哪個表返回的行數(shù)少,因為我們知道嵌套聯(lián)接時,小表驅(qū)動大表效率高。而a1表的temporary字段,a2表的status字段數(shù)據(jù)分布不均勻,選擇性差,不適合建立索引。這個時候直方圖就有用武之地了。已知a1表的temporary='N'條件過濾性差,a2表的status='NOVALID'的過濾性好,用a2驅(qū)動a1效率會更高。因為沒有直方圖時,優(yōu)化器不知道誰的過濾性好,按等值過濾的默認規(guī)則filtered=10進行過濾,在選擇執(zhí)行計劃時就有可能做出錯誤決策。我們先看沒有收集直方圖時的執(zhí)行計劃。如下圖所示:

圖片

從圖中可以看出優(yōu)化器選擇了a1驅(qū)動a2, a1表過濾后估算的行數(shù)為7049,而實際為72214,a2表作為被驅(qū)動表被掃描72214次。執(zhí)行總耗時280ms。 下面對a2表的status列收集直方圖,然后再執(zhí)行關(guān)聯(lián)查詢,如下圖所示:

圖片

從上圖可以看出,有了直方圖后,優(yōu)化器選擇了a2驅(qū)動a1, a2表過濾后估算的行數(shù)為8,實際也為8,a1作為被驅(qū)動表只掃描了8次。執(zhí)行總耗時87ms,效率提升了3倍。

體會到直方圖的作用了嗎,直方圖告訴了優(yōu)化器數(shù)據(jù)分布,讓優(yōu)化器估算更準確,進而讓優(yōu)化器做出了英明的決策。

責任編輯:武曉燕 來源: GreatSQL社區(qū)
相關(guān)推薦

2022-02-09 11:02:16

JavaScript前端框架

2021-10-17 22:40:51

JavaScript開發(fā) 框架

2013-06-28 17:47:59

移動應用

2018-05-18 08:20:32

數(shù)據(jù)治理應用

2019-12-04 10:13:58

Kubernetes存儲Docker

2023-06-12 09:09:19

MySQLDDLNSTANT

2021-11-17 08:11:35

MySQL

2023-11-09 11:56:28

MySQL死鎖

2018-12-19 14:40:08

Redis高級特性

2021-08-12 18:49:41

DataStreamAPI注冊

2020-12-22 06:05:43

Mbedtls應用基礎(chǔ)

2019-01-09 13:20:28

GPU虛擬化應用

2022-04-02 10:23:12

MySQL數(shù)據(jù)庫

2022-11-02 09:39:51

數(shù)據(jù)恢復Kubernetes

2021-04-22 05:40:45

iOS應用瘦身

2020-11-30 13:10:39

MySQL安全服務器

2021-06-03 19:13:06

MySQLJson數(shù)據(jù)

2023-01-05 08:14:41

2015-06-25 12:41:53

實時 Node應用性能監(jiān)測

2018-09-19 16:15:18

MySQL直方圖數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號

怡红院一区二区| 天天综合狠狠精品| 国产精品第108页| 久久1电影院| 日韩欧美在线免费观看| 亚洲图片都市激情| 男人天堂av网| 青青草国产精品亚洲专区无| 欧美日本啪啪无遮挡网站| 国产ts丝袜人妖系列视频| 99久久er| 欧美日韩精品在线观看| 亚洲一区二区三区在线观看视频| 亚洲精品18p| 日韩福利视频网| 欧美黑人性生活视频| 亚洲欧美日韩不卡| 亚洲图片在线视频| 日韩欧美一区二区三区在线视频| 欧美一区二区福利在线| 成年人黄色片视频| 日韩国产小视频| 91色在线观看| 亚洲天堂一区二区在线观看| 国产性xxxx高清| 亚洲欧美在线人成swag| 亚洲成人午夜影院| 午夜精品一区二区三区四区| 天堂中文网在线| 国精产品一区一区三区mba桃花 | 性欧美成人播放77777| 色戒汤唯在线| 久久久国产综合精品女国产盗摄| 国产一区二区免费电影| 中文字幕一区二区免费| 久久精品一区二区国产| 亚洲免费视频一区二区| 精品久久久久久无码人妻| 日韩毛片免费看| 在线这里只有精品| 亚洲精美视频| av中文天堂在线| 国产午夜精品久久久久久久| 成人区精品一区二区| av网站在线观看免费| 精久久久久久久久久久| 国产精品亚洲欧美导航| 五月天中文字幕| 秋霞成人午夜伦在线观看| 日韩av电影免费观看高清| 秋霞精品一区二区三区| 国产精品老牛| 日韩av电影在线播放| 亚洲免费在线观看av| 99精品福利视频| 性日韩欧美在线视频| 日韩精品一区二区av| 99精品视频免费观看视频| 韩国欧美亚洲国产| 亚洲精品午夜国产va久久成人| 在线欧美福利| 欧美日韩在线视频一区| 精品国产乱码久久久久久免费| 三上悠亚久久精品| 新版的欧美在线视频| 欧美日韩性视频在线| 亚洲影院在线观看| 亚洲国产精品影视| 黄色动漫在线| 国产精品久久久久久久久快鸭| 天堂精品视频| 黄色小网站在线观看| 亚洲免费三区一区二区| 成人在线播放网址| 欧美gay囗交囗交| 欧美午夜寂寞影院| 亚洲精品怡红院| 日本亚洲欧洲无免费码在线| 欧美一级在线免费| 69亚洲乱人伦| 精品国产乱码久久久久久果冻传媒| 日韩亚洲欧美在线观看| 亚洲 欧美 日韩在线| 亚洲系列另类av| www国产亚洲精品久久网站| 免费网站观看www在线观| 99精品国产福利在线观看免费| 国产成人综合av| 国产精品爽爽久久久久久| 丰满少妇久久久久久久| 日本成人看片网址| av免费在线观看网址| 亚洲sss视频在线视频| 国产成人综合一区| 日本一区二区三区播放| 亚洲欧美日韩直播| 一起操在线播放| 国产精品视频久久一区| 国产在线高清精品| 四虎永久在线精品免费网址| 欧美激情在线一区二区| 久久av综合网| 色成人综合网| 亚洲美女在线视频| 岛国毛片在线观看| 丝袜亚洲另类欧美综合| av一区二区三区四区电影| 国产高清视频免费最新在线| 一区二区免费看| 爱情岛论坛vip永久入口| av日韩在线播放| 综合av色偷偷网| www.欧美三级电影.com| 日韩黄色中文字幕| 亚洲精选久久| 亚洲影视九九影院在线观看| 你懂的视频在线| 亚洲综合一二三区| 91高清国产视频| 国产欧美日韩影院| 久久欧美在线电影| 精品欧美一区二区精品少妇| 国产欧美一区二区三区网站| 精品视频在线观看一区| 日韩成人精品| 久久夜色撩人精品| 伊人久久亚洲综合| 国产午夜精品在线观看| 一区二区传媒有限公司| 天堂av一区| 麻豆国产精品va在线观看不卡| 中文字幕黄色av| 久久久午夜精品| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲一区二区三区中文字幕在线观看| 中文字幕日韩电影| 最新中文字幕在线观看视频| 久久亚洲一区二区三区四区| 久久久久久人妻一区二区三区| 精品91福利视频| 久久精品人人爽| 一区二区www| 国产精品国产三级国产普通话蜜臀 | 999久久久久久| 亚洲欧洲一区二区三区| 五月婷婷六月合| 成人免费av| 国产精品久久久久久久久久小说| 九色视频网站在线观看| 一本一道久久a久久精品| 丰满少妇在线观看资源站| 国产亚洲福利| 日韩欧美精品一区二区三区经典| 这里有精品可以观看| 亚洲女人被黑人巨大进入| 欧美精品二区三区| 国产亚洲一区字幕| 爆乳熟妇一区二区三区霸乳| 91看片在线观看| 麻豆精品一二三| 色一情一区二区三区四区 | 国产精品久久久乱弄| 国产精品直播网红| 老司机精品视频在线观看6| 欧美猛男男办公室激情| 91成人福利视频| av在线不卡网| 黄色动漫在线免费看| 国产欧美日韩精品高清二区综合区| 国产精品678| 日本在线看片免费人成视1000| 欧美日本国产视频| 妖精视频在线观看| 欧美激情99| 国产成+人+综合+亚洲欧洲 | 久久精品日韩一区二区三区| 久久视频在线观看中文字幕| aaa大片在线观看| 日韩免费高清av| 欧美三级一区二区三区| 99re热这里只有精品免费视频 | 国产一二三区精品| 超黄网站在线观看| 国产精品麻豆欧美日韩ww| 天天色天天综合网| 亚洲无线视频| 日韩欧美99| 99久久999| 69久久夜色精品国产7777| 亚洲国产www| 欧美日韩中国免费专区在线看| 大胸美女被爆操| 成人精品视频网站| 性生活免费在线观看| 亚洲性感美女99在线| 日韩久久久久久久| 日韩在线亚洲| 国产精品高潮粉嫩av| 一区二区三区伦理| 亚洲一区二区国产| 亚洲成熟女性毛茸茸| 欧美在线不卡视频| 国产在线视频二区| 国产精品无码永久免费888| zjzjzjzjzj亚洲女人| 日本不卡在线视频| av在线播放亚洲| 亚洲v在线看| 日韩精品成人一区二区在线观看| 亚洲一区二区三区中文字幕在线观看| 国产精品久久久久久影视| 国产蜜臀一区二区打屁股调教| 中文字幕欧美亚洲| 免费资源在线观看| 亚洲第一页在线| 国产精品久久久久久在线| 欧美日韩中文字幕综合视频| 免费日韩在线视频| 亚洲色图在线播放| 五月天综合视频| 91免费在线视频观看| 成人在线观看一区二区| 亚洲无线视频| 久久福利一区二区| 91av精品| 一区二区三视频| 欧美老女人另类| 免费久久99精品国产自| 久久精品福利| 国产精品美女黄网| 日韩精品一区二区三区中文字幕| 国产精品入口尤物| 视频一区在线免费看| 日韩精品在线播放| 亚洲久久在线观看| 亚洲v日本v欧美v久久精品| 免费无遮挡无码永久在线观看视频| 欧美国产精品v| 亚洲人成人无码网www国产| 91欧美一区二区| 日本japanese极品少妇| 亚洲最好看的视频| 日韩欧美自拍偷拍| 亚洲一卡二卡在线观看| 91久久精品国产91性色tv| 九九热精品视频在线| 国产精品福利一区| 久久午夜精品视频| 日韩av午夜在线观看| 日本一道在线观看| 国产高清一区| 国产系列第一页| 欧美一二区在线观看| 亚洲日本无吗高清不卡| 日韩欧美高清| 欧美精品一区在线| 精品国内自产拍在线观看视频| 青娱乐国产91| 日韩理论电影院| 正在播放亚洲| 欧美视频在线观看| av在线播放天堂| 亚洲欧美日本日韩| 日本熟妇人妻中出| 九九九久久久精品| 69久久精品无码一区二区| 成人美女视频在线看| 精品无码在线视频| 中文字幕免费不卡在线| 99热6这里只有精品| 亚洲精品第1页| 日本a在线观看| 一本一本久久a久久精品综合麻豆| 天天射天天干天天| 欧美福利电影网| 欧美特黄一级视频| 亚洲精品在线不卡| 四虎久久免费| 欧美激情欧美狂野欧美精品| 成人免费网站视频| 国产日韩欧美在线观看| 99这里只有精品视频| 欧美激情国产日韩| 国产精品成人a在线观看| 国产色一区二区三区| 日韩高清在线一区| 久久无码专区国产精品s| 91视频免费播放| 在线观看亚洲网站| 高跟丝袜一区二区三区| 91精品国自产| 日韩电影大全免费观看2023年上| aaa日本高清在线播放免费观看| 久久成人精品一区二区三区| 牛牛精品一区二区| 97久久超碰福利国产精品…| 日韩免费在线电影| 国产一区二区中文字幕免费看| 欧美精品三级在线| 秋霞毛片久久久久久久久| 欧美黄色aaaa| 成年人小视频网站| 国产精品亚洲一区二区三区妖精| 无套内谢大学处破女www小说| 亚洲图片激情小说| 免费看日批视频| 精品国产sm最大网站免费看| 在线观看av的网站| 91超碰caoporn97人人| 91精品麻豆| 日韩视频专区| 亚洲国产国产亚洲一二三| av中文字幕网址| 国产欧美一区二区在线观看| 日韩欧美中文字幕一区二区| 欧美一区午夜视频在线观看| 搞黄视频在线观看| 51午夜精品视频| 91精品短视频| 一级全黄肉体裸体全过程| 奇米777欧美一区二区| 人体私拍套图hdxxxx| 亚洲免费在线看| 在线免费观看中文字幕| 亚洲人成绝费网站色www| h片在线观看下载| 91久久精品国产91久久性色| 国产一区网站| 青青在线视频观看| 9人人澡人人爽人人精品| 免费无码毛片一区二区app| 欧美一区三区四区| 麻豆传媒视频在线| 国产日韩欧美综合| 成人在线电影在线观看视频| 久久久久久久久久福利| 久久人人97超碰com| 国产美女激情视频| 亚洲精品久久7777777| 啪啪免费视频一区| 99国精产品一二二线| 欧美一区二区三区免费看| 在线视频日韩欧美| 日韩理论片一区二区| 一本一道人人妻人人妻αv| 一区二区三区久久精品| 日韩三级影视| 日本成人黄色免费看| 日本色综合中文字幕| 欧美成人久久久免费播放| 欧美色视频一区| 麻豆视频免费在线观看| 91欧美精品午夜性色福利在线 | 亚洲摸下面视频| 亚洲最大网站| 亚洲草草视频| 国产在线视频一区二区| 538精品在线视频| 精品久久一区二区| а√天堂8资源在线| 蜜桃传媒视频麻豆第一区免费观看| 久久国产99| 久久久视频6r| 欧美美女bb生活片| 日韩专区av| 极品尤物一区二区三区| 久久九九精品| 日本不卡一二区| 日韩欧美国产系列| 亚洲欧美小说色综合小说一区| 欧美中日韩一区二区三区| 美女视频免费一区| 草视频在线观看| 日韩高清a**址| 精品福利在线| 超碰人人爱人人| 26uuu亚洲婷婷狠狠天堂| 最近中文字幕在线免费观看 | www.毛片com| 亚洲电影免费观看高清| 免费观看一级欧美片| 一区二区不卡在线观看| 成人性生交大合| 中文字幕精品无码一区二区| 久久久国产成人精品| 久久a爱视频| 久久黄色片网站| 亚洲亚洲人成综合网络| 国产对白叫床清晰在线播放| 91视频网页| 噜噜噜在线观看免费视频日韩| 欧美肥妇bbwbbw| 亚洲国产日韩欧美综合久久| 国外成人福利视频| 99在线精品免费视频| 国产精品高潮呻吟久久| 视频一区二区在线播放| 91亚洲精华国产精华| 三级亚洲高清视频| 97在线免费公开视频|