校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 關于MySQL中的查詢開銷查看方法詳解

關于MySQL中的查詢開銷查看方法詳解

熱門標簽:外呼系統從哪買 陜西400電話如何申請 地圖標注賺錢真假 商家地圖標注哪個好 合肥營銷外呼系統收費 遵義地圖標注app 德惠市地圖標注 承德電腦地圖標注 深圳

MySQL邏輯架構

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

MySQL邏輯架構,來自:高性能MySQL

MySQL邏輯架構整體分為三層,最上層為客戶端層,并非MySQL所獨有,諸如:連接處理、授權認證、安全等功能均在這一層處理。

MySQL大多數核心服務均在中間這一層,包括查詢解析、分析、優化、緩存、內置函數(比如:時間、數學、加密等函數)。所有的跨存儲引擎的功能也在這一層實現:存儲過程、觸發器、視圖等。

最下層為存儲引擎,其負責MySQL中的數據存儲和提取。和Linux下的文件系統類似,每種存儲引擎都有其優勢和劣勢。中間的服務層通過API與存儲引擎通信,這些API接口屏蔽了不同存儲引擎間的差異。

MySQL使用基于成本的優化器,它嘗試預測一個查詢使用某種執行計劃時的成本,并選擇其中成本最小的一個。在MySQL可以通過查詢當前會話的last_query_cost的值來得到其計算當前查詢的成本。

示例代碼

mysql> select * from t_message limit 10;
...省略結果集

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

示例中的結果表示優化器認為大概需要做6391個數據頁的隨機查找才能完成上面的查詢。這個結果是根據一些列的統計信息計算得來的,這些統計信息包括:每張表或者索引的頁面個數、索引的基數、索引和數據行的長度、索引的分布情況等等。

有非常多的原因會導致MySQL選擇錯誤的執行計劃,比如統計信息不準確、不會考慮不受其控制的操作成本(用戶自定義函數、存儲過程)、MySQL認為的最優跟我們想的不一樣(我們希望執行時間盡可能短,但MySQL值選擇它認為成本小的,但成本小并不意味著執行時間短)等等。

這里last_query_cost的值是io_cost和cpu_cost的開銷總和,它通常也是我們評價一個查詢的執行效率的一個常用指標。

(1)它是作為比較各個查詢之間的開銷的一個依據。

(2)它只能檢測比較簡單的查詢開銷,對于包含子查詢和union的查詢是測試不出來的。

(3)當我們執行查詢的時候,MySQL會自動生成一個執行計劃,也就是query  plan,而且通常有很多種不同的實現方式,它會選擇最低的那一個,而這個cost值就是開銷最低的那一個。

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • mysql中模糊查詢的四種用法介紹
  • 解析mysql中:單表distinct、多表group by查詢去除重復記錄
  • Mysql聯合查詢UNION和UNION ALL的使用介紹
  • MySQL查詢in操作 查詢結果按in集合順序顯示
  • MySql查詢時間段的方法
  • MySQL中基本的多表連接查詢教程
  • mysql分頁原理和高效率的mysql分頁查詢語句
  • MySQL里面的子查詢實例
  • mysql show processlist 顯示mysql查詢進程
  • MySQL查詢本周、上周、本月、上個月份數據的sql代碼

標簽:贛州 貴州 揚州 商丘 三門峽 新余 巴中 南陽

巨人網絡通訊聲明:本文標題《關于MySQL中的查詢開銷查看方法詳解》,本文關鍵詞  關于,MySQL,中的,查詢,開銷,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于MySQL中的查詢開銷查看方法詳解》相關的同類信息!
  • 本頁收集關于關于MySQL中的查詢開銷查看方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 获嘉县| 乐陵市| 荆门市| 喀喇| 林芝县| 江陵县| 台中市| 革吉县| 都匀市| 夏津县| 大庆市| 陆良县| 齐河县| 个旧市| 米林县| 赞皇县| 鲁山县| 河津市| 怀化市| 建昌县| 井冈山市| 佛学| 阿鲁科尔沁旗| 巴林左旗| 柳江县| 富宁县| 石门县| 韩城市| 阳西县| 东源县| 新平| 六枝特区| 南乐县| 壶关县| 甘谷县| 繁峙县| 恩平市| 昌宁县| 上林县| 安化县| 南安市|