婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 關(guān)于MySQL中的查詢(xún)開(kāi)銷(xiāo)查看方法詳解

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

熱門(mén)標(biāo)簽:外呼系統(tǒng)從哪買(mǎi) 陜西400電話如何申請(qǐng) 地圖標(biāo)注賺錢(qián)真假 商家地圖標(biāo)注哪個(gè)好 合肥營(yíng)銷(xiāo)外呼系統(tǒng)收費(fèi) 遵義地圖標(biāo)注app 德惠市地圖標(biāo)注 承德電腦地圖標(biāo)注 深圳

MySQL邏輯架構(gòu)

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

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

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

MySQL大多數(shù)核心服務(wù)均在中間這一層,包括查詢(xún)解析、分析、優(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)類(lèi)似,每種存儲(chǔ)引擎都有其優(yōu)勢(shì)和劣勢(shì)。中間的服務(wù)層通過(guò)API與存儲(chǔ)引擎通信,這些API接口屏蔽了不同存儲(chǔ)引擎間的差異。

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

示例代碼

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ī)查找才能完成上面的查詢(xún)。這個(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ì)考慮不受其控制的操作成本(用戶(hù)自定義函數(shù)、存儲(chǔ)過(guò)程)、MySQL認(rèn)為的最優(yōu)跟我們想的不一樣(我們希望執(zhí)行時(shí)間盡可能短,但MySQL值選擇它認(rèn)為成本小的,但成本小并不意味著執(zhí)行時(shí)間短)等等。

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

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

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

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

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

總結(jié)

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

您可能感興趣的文章:
  • mysql中模糊查詢(xún)的四種用法介紹
  • 解析mysql中:單表distinct、多表group by查詢(xún)?nèi)コ貜?fù)記錄
  • Mysql聯(lián)合查詢(xún)UNION和UNION ALL的使用介紹
  • MySQL查詢(xún)in操作 查詢(xún)結(jié)果按in集合順序顯示
  • MySql查詢(xún)時(shí)間段的方法
  • MySQL中基本的多表連接查詢(xún)教程
  • mysql分頁(yè)原理和高效率的mysql分頁(yè)查詢(xún)語(yǔ)句
  • MySQL里面的子查詢(xún)實(shí)例
  • mysql show processlist 顯示mysql查詢(xún)進(jìn)程
  • MySQL查詢(xún)本周、上周、本月、上個(gè)月份數(shù)據(jù)的sql代碼

標(biāo)簽:贛州 貴州 揚(yáng)州 商丘 三門(mén)峽 新余 巴中 南陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于MySQL中的查詢(xún)開(kāi)銷(xiāo)查看方法詳解》,本文關(guān)鍵詞  關(guān)于,MySQL,中的,查詢(xún),開(kāi)銷(xiāo),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于MySQL中的查詢(xún)開(kāi)銷(xiāo)查看方法詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于關(guān)于MySQL中的查詢(xún)開(kāi)銷(xiāo)查看方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 井研县| 葫芦岛市| 昌黎县| 刚察县| 宜昌市| 济宁市| 万载县| 南开区| 延川县| 富民县| 额济纳旗| 湖南省| 藁城市| 广东省| 华亭县| 金山区| 东莞市| 翼城县| 平塘县| 榆社县| 大方县| 平潭县| 股票| 合阳县| 德清县| 民县| 佛学| 新宁县| 兴安盟| 鄂伦春自治旗| 旅游| 蚌埠市| 淮阳县| 云林县| 泸溪县| 大化| 任丘市| 绥中县| 东乌| 调兵山市| 睢宁县|