數據庫-SQL性能分析

SQL執行頻率

7e467ebdb83743069702fb251f608b32.png

?b7384fe2dc68444cbc316043fbd8b84e.png

?慢查詢日志

慢查詢日志記錄了所有執行時間超過指定參數(long_query_time,單位:秒,默認10秒)的所有

SQL語句的日志。

MySQL的慢查詢日志默認沒有開啟,我們可以查看一下系統變量 slow_query_log。

如果要開啟慢查詢日志,需要在MySQL的配置文件(/etc/my.cnf)中配置如下信息:

706751a12b8f4e88b6ec997451354b4a.png

?

9b5dc9e14e1e4ff98702b496b4897133.png

?profile詳情

4a66ff86e1544e24bfb416ee32469e3c.png

bf9b6c95746d428385440c54724d8a22.png?

f6ddfe5f35804d1b9be3282505ec53f3.png?

?

?explain

?

d6263df683ae4b9a9f7795e73b3cb534.png

6bb3d43cbd1a493ca6ab8e36823dc0ae.png

?索引使用

驗證索引效率

在講解索引的使用原則之前,先通過一個簡單的案例,來驗證一下索引,看看是否能夠通過索引來提升

數據查詢性能。在演示的時候,我們還是使用之前準備的一張表 tb_sku , 在這張表中準備了1000w

的記錄。

35aa78be625345cb957a5b60568a7ba7.png

?

這張表中id為主鍵,有主鍵索引,而其他字段是沒有建立索引的。 我們先來查詢其中的一條記錄,看看里面的字段情況,執行如下SQL:

?

f2f440521feb49b4ab0d86e6592a6c7d.png

?

85b9679c7ed74be6875f5779c5ba83b5.png

?328856e0fd324f0fadf1ef89744f7cef.jpg

bb312738ca1948ae89d495fea5264259.png?

?最左前綴法則

如果索引了多列(聯合索引),要遵守最左前綴法則。最左前綴法則指的是查詢從索引的最左列開始,并且不跳過索引中的列。如果跳躍某一列,索引將會部分失效(后面的字段索引失效)。

以 tb_user 表為例,我們先來查看一下之前 tb_user 表所創建的索引。

807eb26d52a94feea7c3a082d2a7bf67.jpg

?

在 tb_user 表中,有一個聯合索引,這個聯合索引涉及到三個字段,順序分別為:profession,

age,status。

對于最左前綴法則指的是,查詢時,最左邊的列,也就是profession必須存在,否則索引全部失效。

而且中間不能跳過某一列,否則該列后面的字段索引將失效。 接下來,我們來演示幾組案例,看一下

具體的執行計劃:

b94c609b330044139d4a6d2bf6e7d4a7.png

1b534c02b3be4c6eb246ec3b34da932d.png?

?b6d5c25e37e94a7c8405e4320c8ef754.png

f1be9cc427e14f50985220a88dbe3c49.png?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15792.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15792.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15792.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html5 筆記02

目錄 01 svg的基本使用 02 svg繪圖 03 進程和線程 01 svg的基本使用 svg和canvas的區別: canvas: 1.canvas作為一個容器只有一個dom元素 ,內部元素無法使用dom操作 (canvas不能展開然后選擇不到 svg查看元素能選中因為是通過標簽控制的) 2.canvas 是配合js完成各種繪制效果 …

vue-route的路由配置中父組件沒有component怎么處理

概述 為了方便開發和維護,所以web前端的路由配置路徑和前端代碼文件路徑一般是一致的。但在實際開發中,項目可能會分很多級的菜單,由于很多菜單只有葉子菜單是真正的頁面。而中間菜單項只是一個路由配置。 為了正確路由到底層的功能頁面&…

指紋識別概念解析

目錄 1. 指紋是物證之首 1.1 起源于中國 1.2 發展于歐洲 1.3 流行于全世界 2. 指紋圖像 3. 指紋特征 4. 指紋注冊 5. 指紋驗證 6. 指紋辨識 1. 指紋是物證之首 指紋識別技術起源于中國、發展于歐洲、流行于全世界。自20世紀以來,指紋在偵破刑事案件、解決訴…

水泥超低排平臺哪家好?

隨著環保政策的加強和綠色發展理念的深入人心,水泥行業的超低排放改造已成為行業發展的新趨勢。選擇一個合適的水泥超低排平臺對于確保改造效果和實現企業的可持續發展至關重要。朗觀視覺小編將從多個角度出發,為您提供一份綜合評估與選擇攻略&#xff0…

Spring Boot 3.x 與 Spring Boot 2.x 的對比

Spring Boot 是 Java 開發領域的一個重要框架,它簡化了基于 Spring 的應用開發。隨著版本的不斷更新,Spring Boot 提供了更多功能、更好的性能以及更簡潔的配置。本文將詳細對比 Spring Boot 3.x 和 Spring Boot 2.x,探討它們之間的主要區別和…

[C語言]自定義類型詳解:結構體、聯合體、枚舉

目錄 🚀結構體 🔥結構體類型的聲明 🔥結構的自引用 🔥結構體變量的定義和初始化 🔥結構體內存對齊 🔥結構體傳參 🔥結構體實現位段(位段的填充&可移植性) &a…

安裝 Ubuntu桌面版,詳細步驟(附引導 U盤制作工具)

下載鏡像 安裝Ubuntu首先要下載鏡像包,訪問下面網址下載鏡像包 https://releases.ubuntu.com/ 選擇你要安裝的Ubuntu版本 將 .iso 文件保存到所需位置,下面會使用此文件創建可引導 U盤。 制作 Ubuntu 引導 U 盤 首先要找到一個大于4G的U盤&#xff…

貓頭虎 解析:為什么AIGC在國內適合做TOB,在國外適合做TOC?

貓頭虎 解析:為什么AIGC在國內適合做TOB,在國外適合做TOC? 博主 貓頭虎 的技術世界 🌟 歡迎來到貓頭虎的博客 — 探索技術的無限可能! 專欄鏈接: 🔗 精選專欄: 《面試題大全》 — 面…

ps進程查看命令詳解

1、PS 命令是什么 查看它的man手冊可以看到,ps命令能夠給出當前系統中進程的快照。它能捕獲系統在某一事件的進程狀態。如果你想不斷更新查看的這個狀態,可以使用top命令。 2、ps命令支持三種使用的語法格式 UNIX 風格,選項可以組合在一起…

鴻蒙ArkUI-X平臺差異化:【運行態差異化(@ohos.deviceInfo)】

平臺差異化 簡介 跨平臺使用場景是一套ArkTS代碼運行在多個終端設備上,如Android、iOS、OpenHarmony(含基于OpenHarmony發行的商業版,如HarmonyOS Next)。當不同平臺業務邏輯不同,或使用了不支持跨平臺的API&#xf…

c++中靜態函數

在Qt中,可以通過在類中定義靜態方法來添加靜態方法。靜態方法是類的一部分,但不需要實例化類對象就可以直接調用。 下面是一個示例,演示了如何在類中添加靜態方法: cpp class MyClass { public: static void myStaticMethod…

Postman快捷功能-批量斷言與快速查詢替換

大家好,在我們日常的接口測試工作中,經常需要對接口返回的數據進行斷言,以確保接口的正確性。當接口數量較多時,逐個編寫斷言語句會變得非常繁瑣。此外,在接口測試過程中,我們還可能需要頻繁地查找和替換某…

Python自動化工具(桌面自動化、Web自動化、游戲輔助)

工具介紹 連點工具是一款可以模擬鍵鼠后臺操作的連點器工具。支持鼠標連點、鍵鼠腳本錄制,支持輔助您實現辦公自動化以及輔助游戲操作。功能簡潔易用,非常方便操作。連點工具讓您在在玩游戲、網購搶購的時候全自動點擊鼠標!主要功能有&#…

MySQL數據庫的數據文件保存在哪?MySQL數據存在哪里

在安裝好MySQL數據庫使用一段時間后,會產生許多的數據庫和數據。那這些數據庫的數據文件存放在本地文件夾的什么位置呢 一、默認位置 一般來說MySQL數據庫的數據文件都是存放在data文件夾之中,但是根據使用的存儲引擎不同,產生的一些文件也…

牛客前端面試高頻八股總結(2)(附文檔)

1.fetch請求方式 fetch是什么? fetch是一種http 數據請求的方式,是xml的一種替代方式。 怎么請求? fetch方法返回一個promise解析response顯示狀態(成功與否)的方法。 優點: 使用Promise,支持鏈…

24李林跌落神壇,880還刷嗎?還是換1000、900、660?

“李林今年跌落神壇了!” “全是固定題型沒新題,結果今年考的全是新題。” 880是“老真題的神”, 遇到24年,冷門考點多,計算量又大,就不靈了。 但“老真題”,還是得刷。就像往年真題是要刷的…

(十一)統計學基礎練習題五(50道選擇題)

本文整理了統計學基礎知識相關的練習題,共50道,適用于想鞏固統計學基礎或備考的同學。來源:如荷學數據科學題庫(技術專項-統計學二)。序號之前的題請看往期文章。 201) 202) 203) 2…

得帆信息PMO總監李健達受邀為第十三屆中國PMO大會演講嘉賓

全國PMO專業人士年度盛會 上海得帆信息技術有限公司aPaaS業務線副總裁、PMO總監李健達先生受邀為PMO評論主辦的2024第十三屆中國PMO大會演講嘉賓,演講議題為“AI時代的PMO工作法”。大會將于6月29-30日在北京舉辦,敬請關注! 議題簡要&#x…

39. 組合總和 - 力扣(LeetCode)

基礎知識要求: Java: 方法、集合、泛型、Arrays工具類、for循環、if判斷 Python: 方法、列表、for循環、if判斷 題目: 給你一個 無重復元素 的整數數組 candidates 和一個目標整數 target ,找出 candidates 中可以使…

Spring框架學習筆記(五):JdbcTemplate 和 聲明式事務

基本介紹&#xff1a;通過 Spring 框架可以配置數據源&#xff0c;從而完成對數據表的操作。JdbcTemplate 是 Spring 提供的訪問數據庫的技術。將 JDBC 的常用操作封裝為模板方法 1 JdbcTemplate 使用前需進行如下配置 1.1 在maven項目的pom文件加入以下依賴 <dependencies…