麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

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

2024-07-25 19:08:38
字體:
來源:轉載
供稿:網友

MySQL邏輯架構

如果能在頭腦中構建一幅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)它對于比較我們的開銷是非常有用的,特別是我們有好幾種查詢方式可選的時候。

總結

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


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩黄色成人 | 91快色| av日韩一区二区三区 | 国产午夜精品在线 | av电影在线观看网址 | 国产中出在线观看 | 视频一区 在线 | 日本特级a一片免费观看 | 毛片韩国 | 成人性生活视频在线观看 | 欧美精品亚洲人成在线观看 | 羞羞电影网 | 最近中文字幕一区二区 | 国产精品视频一区二区三区四区五区 | 黄色一级片在线观看 | 激情小说色 | 国产亚洲精品久久久久久久软件 | 国产精品白嫩白嫩大学美女 | 久久久久久久久淑女av国产精品 | 一级黄色影院 | 久久综合久久美利坚合众国 | 久久大陆| 久久久免费电影 | av在线电影网站 | 日本a大片 | 欧美日韩1区2区3区 黄片毛片一级 | 成码无人av片在线观看网站 | 国产午夜精品一区二区三区视频 | sese综合| 国产精品久久99精品毛片三a | 久久欧美亚洲另类专区91大神 | 精品一区二区久久久久久按摩 | 国人精品视频在线观看 | 精品视频 久久久 | 亚洲国产高清视频 | 久久精品色 | 久久亚洲精品国产一区 | 激情大乳女做爰办公室韩国 | 精品亚洲一区二区 | 亚洲精品3 | 日本在线免费观看视频 |