最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于MySQL中的查詢開(kāi)銷查看方法詳解

 更新時(shí)間:2018年07月06日 10:55:59   作者:學(xué)習(xí)日志  
一個(gè)查詢通??梢杂泻芏喾N執(zhí)行方式,并且返回同樣的結(jié)果,而好的程序員應(yīng)該是找到最好的方式,下面這篇文章主要給大家介紹了關(guān)于MySQL中查詢開(kāi)銷查看方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

MySQL邏輯架構(gòu)

如果能在頭腦中構(gòu)建一幅MySQL各組件之間如何協(xié)同工作的架構(gòu)圖,有助于深入理解MySQL服務(wù)器。下圖展示了MySQL的邏輯架構(gòu)圖。

MySQL邏輯架構(gòu),來(lái)自:高性能MySQL

MySQL邏輯架構(gòu)整體分為三層,最上層為客戶端層,并非MySQL所獨(dú)有,諸如:連接處理、授權(quán)認(rèn)證、安全等功能均在這一層處理。

MySQL大多數(shù)核心服務(wù)均在中間這一層,包括查詢解析、分析、優(yōu)化、緩存、內(nèi)置函數(shù)(比如:時(shí)間、數(shù)學(xué)、加密等函數(shù))。所有的跨存儲(chǔ)引擎的功能也在這一層實(shí)現(xiàn):存儲(chǔ)過(guò)程、觸發(fā)器、視圖等。

最下層為存儲(chǔ)引擎,其負(fù)責(zé)MySQL中的數(shù)據(jù)存儲(chǔ)和提取。和Linux下的文件系統(tǒng)類似,每種存儲(chǔ)引擎都有其優(yōu)勢(shì)和劣勢(shì)。中間的服務(wù)層通過(guò)API與存儲(chǔ)引擎通信,這些API接口屏蔽了不同存儲(chǔ)引擎間的差異。

MySQL使用基于成本的優(yōu)化器,它嘗試預(yù)測(cè)一個(gè)查詢使用某種執(zhí)行計(jì)劃時(shí)的成本,并選擇其中成本最小的一個(gè)。在MySQL可以通過(guò)查詢當(dāng)前會(huì)話的last_query_cost的值來(lái)得到其計(jì)算當(dāng)前查詢的成本。

示例代碼

mysql> select * from t_message limit 10;
...省略結(jié)果集

mysql> show status like 'last_query_cost';
+-----------------+-------------+
| Variable_name | Value |
+-----------------+-------------+
| Last_query_cost | 6391.799000 |
+-----------------+-------------+

示例中的結(jié)果表示優(yōu)化器認(rèn)為大概需要做6391個(gè)數(shù)據(jù)頁(yè)的隨機(jī)查找才能完成上面的查詢。這個(gè)結(jié)果是根據(jù)一些列的統(tǒng)計(jì)信息計(jì)算得來(lái)的,這些統(tǒng)計(jì)信息包括:每張表或者索引的頁(yè)面?zhèn)€數(shù)、索引的基數(shù)、索引和數(shù)據(jù)行的長(zhǎng)度、索引的分布情況等等。

有非常多的原因會(huì)導(dǎo)致MySQL選擇錯(cuò)誤的執(zhí)行計(jì)劃,比如統(tǒng)計(jì)信息不準(zhǔn)確、不會(huì)考慮不受其控制的操作成本(用戶自定義函數(shù)、存儲(chǔ)過(guò)程)、MySQL認(rèn)為的最優(yōu)跟我們想的不一樣(我們希望執(zhí)行時(shí)間盡可能短,但MySQL值選擇它認(rèn)為成本小的,但成本小并不意味著執(zhí)行時(shí)間短)等等。

這里last_query_cost的值是io_cost和cpu_cost的開(kāi)銷總和,它通常也是我們?cè)u(píng)價(jià)一個(gè)查詢的執(zhí)行效率的一個(gè)常用指標(biāo)。

(1)它是作為比較各個(gè)查詢之間的開(kāi)銷的一個(gè)依據(jù)。

(2)它只能檢測(cè)比較簡(jiǎn)單的查詢開(kāi)銷,對(duì)于包含子查詢和union的查詢是測(cè)試不出來(lái)的。

(3)當(dāng)我們執(zhí)行查詢的時(shí)候,MySQL會(huì)自動(dòng)生成一個(gè)執(zhí)行計(jì)劃,也就是query  plan,而且通常有很多種不同的實(shí)現(xiàn)方式,它會(huì)選擇最低的那一個(gè),而這個(gè)cost值就是開(kāi)銷最低的那一個(gè)。

(4)它對(duì)于比較我們的開(kāi)銷是非常有用的,特別是我們有好幾種查詢方式可選的時(shí)候。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 詳解MySQL的Seconds_Behind_Master

    詳解MySQL的Seconds_Behind_Master

    對(duì)于mysql主備實(shí)例,seconds_behind_master是衡量master與slave之間延時(shí)的一個(gè)重要參數(shù)。通過(guò)在slave上執(zhí)行"show slave status;"可以獲取seconds_behind_master的值。
    2021-05-05
  • MySQL8.0.18配置多主一從

    MySQL8.0.18配置多主一從

    主從復(fù)制是指數(shù)據(jù)可以從一個(gè)MySQL數(shù)據(jù)庫(kù)服務(wù)器主節(jié)點(diǎn)復(fù)制到一個(gè)或多個(gè)從節(jié)點(diǎn),本文詳細(xì)的介紹了MySQL8.0.18配置多主一從,感興趣的可以了解一下
    2021-06-06
  • mysql通過(guò)查看跟蹤日志跟蹤執(zhí)行的sql語(yǔ)句

    mysql通過(guò)查看跟蹤日志跟蹤執(zhí)行的sql語(yǔ)句

    在SQL SERVER下跟蹤sql采用事件探查器,而在mysql下如何跟蹤sql呢,下面有個(gè)不錯(cuò)的方法,大家可以參考下
    2014-01-01
  • MySQL 選擇合適的存儲(chǔ)引擎

    MySQL 選擇合適的存儲(chǔ)引擎

    這篇文章主要介紹了MySQL如何選擇合適的存儲(chǔ)引擎,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL中登錄與退出超全圖文講解

    MySQL中登錄與退出超全圖文講解

    大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇,下面這篇文章主要給大家介紹了關(guān)于MySQL中登錄與退出圖文講解的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL常用命令與內(nèi)部組件及SQL優(yōu)化詳情

    MySQL常用命令與內(nèi)部組件及SQL優(yōu)化詳情

    這篇文章主要介紹了MySQL常用命令與內(nèi)部組件及SQL優(yōu)化詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • Mysql 聚合函數(shù)嵌套使用操作

    Mysql 聚合函數(shù)嵌套使用操作

    這篇文章主要介紹了Mysql 聚合函數(shù)嵌套使用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • mysql5.7.13.zip安裝教程(windows)

    mysql5.7.13.zip安裝教程(windows)

    這篇文章主要為大家詳細(xì)介紹了mysql5.7.13.zip安裝教程,以及在安裝mysql5.7.13.zip過(guò)程中遇到的問(wèn)題,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MySQL 遷移后無(wú)法快速導(dǎo)數(shù)據(jù)問(wèn)題解決

    MySQL 遷移后無(wú)法快速導(dǎo)數(shù)據(jù)問(wèn)題解決

    這篇文章主要為大家介紹了MySQL 遷移后無(wú)法快速導(dǎo)數(shù)據(jù)問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • MySQL DELETE語(yǔ)法使用詳細(xì)解析

    MySQL DELETE語(yǔ)法使用詳細(xì)解析

    此文章主要講述的是MySQL DELETE語(yǔ)法的詳細(xì)解析,以及一些在實(shí)際操作中值得我們大家注意的相關(guān)事項(xiàng)的描述,以下就是正文的主要內(nèi)容
    2013-03-03

最新評(píng)論

石河子市| 榆中县| 酉阳| 鸡泽县| 安平县| 饶阳县| 通道| 滨州市| 湟中县| 武汉市| 奉节县| 舟山市| 济宁市| 德令哈市| 淳安县| 道孚县| 北海市| 南昌县| 库伦旗| 绵阳市| 涿鹿县| 金山区| 沂南县| 壤塘县| 育儿| 黑龙江省| 东莞市| 泰州市| 阿城市| 鄂托克前旗| 隆安县| 隆回县| 阿荣旗| 茌平县| 绿春县| 安达市| 杭锦旗| 威海市| 马鞍山市| 绥化市| 阳江市|