EXPLAIN使用分析

系列文章目錄


文章目錄

  • 系列文章目錄
  • 一、type說明
  • 二、MySQL中使用Show Profile
    • 1.查看當前profiling配置
    • 2.在會話級別修改profiling配置
    • 3.查看profile記錄
    • 4.要深入查看某條查詢執行時間的分布


一、type說明

在這里插入圖片描述
我們只需要注意一個最重要的type 的信息很明顯的提現是否用到索引:
type結果值從好到壞依次是:

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

all:全表掃描

index:另一種形式的全表掃描,只不過他的掃描方式是按照索引的順序

range:有范圍的索引掃描,相對于index的全表掃描,他有范圍限制,因此要優于index

ref: 查找條件列使用了索引而且不為主鍵和unique。其實,意思就是雖然使用了索引,但該索引列的值并不唯一,有重復。這樣即使使用索引快速查找到了第一條數據,仍然不能停止,要進行目標值附近的小范圍掃描。但它的好處是它并不需要掃全表,因為索引是有序的,即便有重復值,也是在一個非常小的范圍內掃描。

const:通常情況下,如果將一個主鍵放置到where后面作為條件查詢,mysql優化器就能把這次查詢優化轉化為一個常量。至于如何轉化以及何時轉化,這個取決于優化器

一般來說,得保證查詢至少達到range級別,最好能達到ref,type出現index和all時,表示走的是全表掃描沒有走索引,效率低下,這時需要對sql進行調優。

當extra出現Using filesor或Using temproary時,表示無法使用索引,必須盡快做優化。

possible_keys:sql所用到的索引

key:顯示MySQL實際決定使用的鍵(索引)。如果沒有選擇索引,鍵是NULL

rows: 顯示MySQL認為它執行查詢時必須檢查的行數。

這里可以參考之前寫的一篇:用MySQL 執行計劃分析 DATE_FORMAT 函數對索引的影響

二、MySQL中使用Show Profile

Show profile 默認是禁用的,用處是記錄在服務器中運行的查詢耗費的時間和其他一些查詢執行狀態變更相關的數據。

1.查看當前profiling配置

show variables like ‘profiling%’

2.在會話級別修改profiling配置

set profiling =1

我在執行這個語句是,返回給我

0 row(s) affected, 1 warning(s): 1287 ‘@@profiling’ is deprecated and will be removed in a future release.

看這個提示,似乎后期的版本profiling會有變動

3.查看profile記錄

show profiles

當一條查詢提交給服務器時,此工具會記錄剖析信息到一張臨時表,并為每個查詢賦予一個從1開始的整數標識符。

4.要深入查看某條查詢執行時間的分布

show profile for query <整數標識符>

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

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

相關文章

kafka線上問題優化

如何防止消息丟失 生產者&#xff1a; 使用同步發送把ack設成1或者all&#xff08;非0&#xff0c;0可能會出現消息丟失的情況&#xff09;&#xff0c;并且設置同步的分區數>2 消費者&#xff1a;把自動提交改成手動提交 如何防止重復消費 在防止消息丟失的方案中&#…

leetcode 力扣刷題 數組交集(數組、set、map都可實現哈希表)

數組交集 349. 兩個數組的交集排序&#xff0b;雙指針數組實現哈希表unordered_setunordered_map 350. 兩個數組的交集Ⅱ排序 雙指針數組實現哈希表unordered_map 349. 兩個數組的交集 題目鏈接&#xff1a;349. 兩個數組的交集 題目內容如下&#xff0c;理解題意&#xff1a…

梯度爆炸和梯度消失的原因以及解決方法

文章目錄 1、原因&#xff1a;2、解決方法 1、原因&#xff1a; 梯度消失和梯度爆炸的根本原因是因為在反向傳播過程中&#xff0c;使用鏈式法則計算時&#xff0c;累積相乘效應導致梯度過大或者過小主要原因有&#xff1a; 1&#xff09;激活函數&#xff1a;例如sigmoid或者…

聊聊火車的發展

目錄 1.火車的概念 2.火車的發展歷史 3.火車對戰爭的影響 4.火車對人們出行造成的影響 1.火車的概念 火車是一種由機械動力驅動的陸上交通工具&#xff0c;通常用來運輸人員和貨物。它由一列或多列的連接在一起的車廂組成&#xff0c;有軌道作為其行駛的基礎&#xff0c;并通…

重建與突破,探討全鏈游戲的現在與未來

全鏈游戲&#xff08;On-Chain Game&#xff09;是指將游戲內資產通過虛擬貨幣或 NFT 形式記錄上鏈的游戲類型。除此以外&#xff0c;游戲的狀態存儲、計算與執行等皆被部署在鏈上&#xff0c;目的是為用戶打造沉浸式、全方位的游戲體驗&#xff0c;超越傳統游戲玩家被動控制的…

mysql面試

基礎篇 通用語法及分類 DDL: 數據定義語言&#xff0c;用來定義數據庫對象&#xff08;數據庫、表、字段&#xff09;DML: 數據操作語言&#xff0c;用來對數據庫表中的數據進行增刪改DQL: 數據查詢語言&#xff0c;用來查詢數據庫中表的記錄DCL: 數據控制語言&#xff0c;用…

php正則替換文章的圖片

要使用正則表達式替換文章中的圖片鏈接&#xff0c;可以按照以下步驟進行操作&#xff1a; 1. 獲取文章內容&#xff1a;首先&#xff0c;你需要獲取包含圖片鏈接的文章內容。你可以從文件中讀取文章&#xff0c;或者從數據庫中檢索文章內容。 2. 使用正則表達式匹配圖片鏈接…

JAVA編程學習筆記

常用代碼、特定函數、復雜概念、特定功能……在學習編程的過程中你會記錄下哪些內容&#xff1f;快來分享你的筆記&#xff0c;一起切磋進步吧&#xff01; 一、常用代碼 在java編程中常用需要儲備的就是工具類。包括封裝的時間工具類。http工具類&#xff0c;加解密工具類&am…

day17 | 110.平衡二叉樹、257. 二叉樹的所有路徑、404.左葉子之和

目錄&#xff1a; 解題及思路學習 110.平衡二叉樹 https://leetcode.cn/problems/balanced-binary-tree/ 給定一個二叉樹&#xff0c;判斷它是否是高度平衡的二叉樹。 本題中&#xff0c;一棵高度平衡二叉樹定義為&#xff1a; 一個二叉樹每個節點 的左右兩個子樹的高度差…

Linux學習之firewallD

systemctl status firewalld.service查看一下firewalld服務的狀態&#xff0c;發現狀態是inactive (dead)。 systemctl start firewalld.service啟動firewalld&#xff0c;systemctl status firewalld.service查看一下firewalld服務的狀態&#xff0c;發現狀態是active (runni…

okcc呼叫系統導入呼叫名單/客戶資料的數量上限,okcc通話聲音小有哪幾種處理辦法?

系統導入呼叫名單/客戶資料的數量上限 呼叫名單一次最多十萬 客戶資料一次最多五萬 通話聲音小有哪幾種處理辦法&#xff1f; 1、IP話機&#xff1a;通過話機上的音量調節按鈕來進行調節。 2、模擬話機&#xff1a;修改語音網關上的增益來實現。 “ 往IP增益”表示電話呼入…

stable diffusion 運行時報錯: returned non-zero exit status 1.

運行sh run.sh安裝stable diffusion時報錯&#xff1a;ImportError: cannot import name builder from google.protobuf.internal (stable-diffusion-webui/venv/lib/python3.8/site-packages/google/protobuf/internal/__init__.py) 原因&#xff1a;python版本過低&#xff0…

ubuntu16.04制作本地apt源離線安裝

一、首先在有外網的服務器安裝需要安裝的軟件&#xff0c;打包deb軟件。 cd /var/cache/apt zip -r archives.zip archives sz archives.zip 二、在無外網服務器上傳deb包&#xff0c;并配置apt源。 1、上傳deb包安裝lrzsz、unzip 用ftp軟件連接無外網服務器協議選擇sftp…

股票交易c接口包含哪些調用函數?

股票交易的C接口中可能包含多個調用函數&#xff0c;具體的調用函數取決于所使用的接口規范和交易所的要求。接下來看看下面是一些可能常見的股票交易C接口調用函數的示例&#xff1a; 1. 連接函數&#xff08;Connect&#xff09;&#xff1a;用于與交易所建立網絡連接。 2.…

CSS(JavaEE初階系列14)

目錄 前言&#xff1a; 1.CSS是什么 1.1CSS基本語法 2.引入樣式 2.1內部樣式表 2.2行內樣式表 2.3外部樣式 3.選擇器 3.1選擇器的種類 3.1.1基礎選擇器 3.1.2復合選擇器 4.常用元素屬性 4.1字體屬性 4.2文本屬性 4.3背景屬性 4.4圓角矩形 4.5元素的顯示模式 4…

?LeetCode解法匯總2682. 找出轉圈游戲輸家

目錄鏈接&#xff1a; 力扣編程題-解法匯總_分享記錄-CSDN博客 GitHub同步刷題項目&#xff1a; https://github.com/September26/java-algorithms 原題鏈接&#xff1a; 力扣&#xff08;LeetCode&#xff09;官網 - 全球極客摯愛的技術成長平臺 描述&#xff1a; n 個朋友…

【Leetcode】84.柱狀圖中最大的矩形(Hard)

一、題目 1、題目描述 給定 n n n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 示例1: 輸入:heights = [2,1,5,6,2,3] 輸出:10 解釋:最大的矩形為圖中紅色區域,面積為 10示例2:…

學習Vue:Vue Router的集成與基本配置

在Vue.js中&#xff0c;路由與導航是構建單頁應用程序&#xff08;SPA&#xff09;的關鍵概念。Vue Router是Vue.js官方提供的路由管理庫&#xff0c;它允許您輕松地實現頁面之間的切換、嵌套路由和參數傳遞。在本文中&#xff0c;我們將深入了解Vue Router的集成和基本配置。 …

Stephen Wolfram:那么…ChatGPT 在做什么,為什么它有效呢?

So … What Is ChatGPT Doing, and Why Does It Work? 那么…ChatGPT在做什么&#xff0c;為什么它有效呢&#xff1f; The basic concept of ChatGPT is at some level rather simple. Start from a huge sample of human-created text from the web, books, etc. Then train…

IDA遠程調試真機app

IDA遠程調試真機app 第一步&#xff1a;啟動 android_server&#xff0c;并修改端口 # 啟動android_server ./android_server -p31928第二步&#xff1a;端口轉發、掛起程序 # 端口轉發adb forward tcp:31928 tcp:31928# 掛起程序 adb shell am start -D -n com.qianyu.antid…