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

主頁 > 知識庫 > MySQL EXPLAIN語句的使用示例

MySQL EXPLAIN語句的使用示例

熱門標簽:電話外呼系統(tǒng)改號 曲靖移動外呼系統(tǒng)公司 南昌三維地圖標注 啥是企業(yè)400電話辦理 怎樣在地圖標注銷售區(qū)域 百應(yīng)電話機器人優(yōu)勢 地圖標注費用是多少 外呼系統(tǒng)打電話上限是多少 武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商

在MySQL優(yōu)化的環(huán)節(jié)上,我們首先需要知道的就是我們當(dāng)前的這句SQL語句在實際的數(shù)據(jù)庫中究竟是怎么執(zhí)行的,才能談要如何優(yōu)化它。而在MySQL中,就給我們提供了模擬語句執(zhí)行的一個非常好用的關(guān)鍵字:EXPLAIN。EXPLAIN可以用來查看SQL語句的執(zhí)行效果,可以幫助選擇更好的索引和優(yōu)化查詢語句,寫出更好的優(yōu)化語句。因此今天我們就來講一講這個關(guān)鍵字的一些基礎(chǔ)的用法與應(yīng)用。

一、使用方法

EXPLAIN的使用方法非常簡單:

mysql> EXPLAIN SELECT * FROM user;

簡單來說,就是在原有的SQL語句前面加上EXPLAIN關(guān)鍵字,或者說是在EXPLAIN關(guān)鍵字后跟這你要檢查的SQL語句。

二、輸出結(jié)果

EXPLAIN語句的輸出結(jié)果才是我們想要的數(shù)據(jù),也是我們分析的重點。
我們先來看看上面的語句所給到的對應(yīng)的結(jié)果的形式:

+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
| 1 | SIMPLE  | user | NULL  | ALL | NULL   | NULL | NULL | NULL | 3 | 100.00 | NULL |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+

EXPLAIN語句給到我們的數(shù)據(jù)總共有10列,接下來我們看一下一些在性能優(yōu)化上有比較重要作用的數(shù)據(jù)列所代表的意思。

1.id

這個是select查詢的序列號。

2.select_type

當(dāng)我們的SQL語句是非select語句的時候(即delete,update...),這個字段的值就是對應(yīng)的操作類型(delete,update...)。

mysql> EXPLAIN INSERT INTO user VAULES(2,'ahong','31');

此時的輸出select_type就是我們對應(yīng)的INSERT:

+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
| 1 | INSERT  | user | NULL  | ALL | NULL   | NULL | NULL | NULL | NULL |  NULL | NULL |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+

而當(dāng)SQL語句時select語句的時候,他就是對應(yīng)的一些詳細的select的類型,可以有如下幾種:

SIMPLE:簡單SELECT(不使用UNION或子查詢等)
PRIMARY:最外面的SELECT
UNION:UNION中的第二個或后面的SELECT語句
DEPENDENT UNION:UNION中的第二個或后面的SELECT語句,取決于外面的查詢
UNION RESULT:UNION的結(jié)果。
SUBQUERY:子查詢中的第一個SELECT
DEPENDENT SUBQUERY:子查詢中的第一個SELECT,取決于外面的查詢
DERIVED:導(dǎo)出表的SELECT(FROM子句的子查詢)

下面就是一個最簡單的SIMPLE查詢的例子:

mysql> EXPLAIN SELECT * FROM user;
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
| 1 | SIMPLE  | user | NULL  | ALL | NULL   | NULL | NULL | NULL | 3 | 100.00 | NULL |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+

3.table

顯示這一步操作所訪問的數(shù)據(jù)是關(guān)于哪一張表的。

4.partitions

顯示表所使用的分區(qū),如果要統(tǒng)計十年公司訂單的金額,可以把數(shù)據(jù)分為十個區(qū),每一年代表一個區(qū)。這樣可以大大的提高查詢效率。

5.type

這是最重要的一列。顯示了連接使用了哪種類別,有無使用索引。是分析查詢性能的關(guān)鍵。
結(jié)果性能從優(yōu)到差分別有以下的情況:

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

而這幾種情況所代表的意義如下:

  • system、const: 可以將查詢的變量轉(zhuǎn)為常量. 如id=1; id為 主鍵或唯一鍵.
  • eq_ref: 訪問索引,返回某單一行的數(shù)據(jù).(通常在聯(lián)接時出現(xiàn),查詢使用的索引為主鍵或惟一鍵)
  • ref: 訪問索引,返回某個值的數(shù)據(jù).(可以返回多行) 通常使用=時發(fā)生
  • range: 這個連接類型使用索引返回一個范圍中的行,比如使用>或查找東西,并且該字段上建有索引時發(fā)生的情況(注:不一定好于index)
  • index: 以索引的順序進行全表掃描,優(yōu)點是不用排序,缺點是還要全表掃描
  • ALL: 全表掃描,應(yīng)該盡量避免_

一般來說,得保證查詢至少達到range級別,最好能達到ref,否則就可能會出現(xiàn)性能問題。

6.possible_key

顯示查詢語句有可能會使用到的索引列。取值可能為一個,多個或者null。

7.key

key列顯示的是該查詢語句實際使用的索引列。如為null,則表示沒有使用索引。
展示一下possible_key和key的實際效果:
下面是一個在age列上建立索引的數(shù)據(jù)表,我們進行以下的查詢

mysql> explain select * from user where age = 1;

會得到以下的結(jié)果:

+----+-------------+-------+------------+------+---------------+------+---------+-------+------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+------+---------------+------+---------+-------+------+----------+-------+
| 1 | SIMPLE  | user | NULL  | ref | age   | age | 5  | const | 1 | 100.00 | NULL |
+----+-------------+-------+------------+------+---------------+------+---------+-------+------+----------+-------+

8.key_len

顯示的是當(dāng)前的查詢語句所使用的索引的長度。在不損失精確性的情況下,長度越短越好.

9.ref

引用到的上一個表的列。

10.rows

根據(jù)表的情況和查詢語句的情況,MySQL會估算出返回最終結(jié)果所必須檢查的行的數(shù)量。該列的值越大查詢效率越差。

11.filtered

一個百分比的值,和rows 列的值一起使用,可以估計出查詢執(zhí)行計劃(QEP)中的前一個表的結(jié)果集,從而確定join操作的循環(huán)次數(shù)。小表驅(qū)動大表,減輕連接的次數(shù)。

12.extra

關(guān)于MySQL如何解析查詢的額外信息,主要有以下幾種:

Extra中包含的值:

  • using index: 只用到索引,可以避免訪問表,性能很高。
  • using where: 使用到where來過濾數(shù)據(jù), 不是所有的where clause都要顯示using where. 如以=方式訪問索引。
  • using tmporary: 用到臨時表去處理當(dāng)前的查詢。
  • using filesort: 用到額外的排序,此時mysql會根據(jù)聯(lián)接類型瀏覽所有符合條件的記錄,并保存排序關(guān)鍵字和行指針,然后排序關(guān)鍵字并按順序檢索行。(當(dāng)使用order by v1,而沒用到索引時,就會使用額外的排序)。
  • range checked for eache record(index map:N): 沒有好的索引可以使用。
  • Using index for group-by:__表明可以在索引中找到分組所需的所有數(shù)據(jù),不需要查詢實際的表。explain select user_id from t_order group by user_id;_

以上就是MySQL EXPLAIN語句的使用示例的詳細內(nèi)容,更多關(guān)于MySQL EXPLAIN語句的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • MySQL查詢語句過程和EXPLAIN語句基本概念及其優(yōu)化
  • mysql開啟慢查詢(EXPLAIN SQL語句使用介紹)
  • mysql explain的用法(使用explain優(yōu)化查詢語句)
  • Mysql調(diào)優(yōu)Explain工具詳解及實戰(zhàn)演練(推薦)
  • Mysql explain用法與結(jié)果深入分析
  • 詳解mysql中explain的type
  • MySQL如何基于Explain關(guān)鍵字優(yōu)化索引功能
  • Mysql深入探索之Explain執(zhí)行計劃詳析
  • MySQL索引優(yōu)化Explain詳解
  • MYSQL 性能分析器 EXPLAIN 用法實例分析
  • MySQL中通過EXPLAIN如何分析SQL的執(zhí)行計劃詳解

標簽:甘南 黑河 錦州 滄州 荊州 資陽 吉林 隨州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MySQL EXPLAIN語句的使用示例》,本文關(guān)鍵詞  MySQL,EXPLAIN,語句,的,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL EXPLAIN語句的使用示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL EXPLAIN語句的使用示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩不卡一二三区| 国产精品久久久久永久免费观看| 欧美大度的电影原声| 亚洲视频免费看| 不卡视频一二三| 国产喷白浆一区二区三区| 国产综合一区二区| 欧美哺乳videos| 激情久久五月天| 久久九九影视网| 国产不卡免费视频| 自拍偷拍亚洲综合| 欧美性大战xxxxx久久久| 亚洲成人综合在线| 欧美大白屁股肥臀xxxxxx| 国产一区二区三区精品视频| 亚洲国产精华液网站w| 91电影在线观看| 欧美aa在线视频| 国产视频一区在线播放| 色一情一乱一乱一91av| 日韩1区2区3区| 久久久另类综合| 91女人视频在线观看| 亚洲大尺度视频在线观看| 精品久久五月天| 91麻豆精品一区二区三区| 午夜电影一区二区三区| 精品国产乱码久久久久久图片| 成人av在线一区二区三区| 亚洲午夜一区二区三区| 久久蜜臀精品av| 欧洲生活片亚洲生活在线观看| 蜜芽一区二区三区| 中文字幕乱码一区二区免费| 欧美日本免费一区二区三区| 国产精品99久久久久久久女警| 亚洲乱码精品一二三四区日韩在线 | 成人免费不卡视频| 亚洲男人的天堂在线观看| 欧美一区二区视频免费观看| 成人综合激情网| 午夜精品福利视频网站| 国产清纯美女被跳蛋高潮一区二区久久w| 色综合咪咪久久| 国产精品77777| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲自拍偷拍综合| 色哟哟一区二区在线观看| 国产成人综合视频| 成人激情免费电影网址| 亚洲综合激情网| 国产精品久久久久四虎| 日韩一区二区精品在线观看| 91免费国产在线| 国产大片一区二区| 蜜桃精品在线观看| 亚洲一区二区视频| 国产精品欧美一级免费| 欧美精品一区二区三区四区| 欧美日本一区二区在线观看| 欧美在线观看视频一区二区三区| 丰满岳乱妇一区二区三区| 精品一区二区三区久久| 视频一区视频二区中文| 午夜精彩视频在线观看不卡| 夜夜爽夜夜爽精品视频| 久久看人人爽人人| 成人午夜又粗又硬又大| 舔着乳尖日韩一区| 欧美精品在欧美一区二区少妇| 国产91在线看| 国产欧美日韩视频在线观看| 国产精品18久久久久久久久久久久 | 亚洲欧美综合网| 日韩精品中午字幕| 亚洲综合在线电影| 成人在线综合网站| 国产精品久久久久精k8| 日韩精品国产精品| 日本精品视频一区二区三区| 国产精品视频免费看| 捆绑紧缚一区二区三区视频| 色狠狠av一区二区三区| 国产精品欧美一区喷水| av在线播放成人| 91麻豆精品国产自产在线 | 国产一区二区三区久久久| 久久五月婷婷丁香社区| 国产精品影音先锋| 一区二区在线观看免费| 91美女片黄在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美男生操女生| 欧美日韩精品是欧美日韩精品| 亚洲精品va在线观看| 正在播放亚洲一区| 亚洲精选视频免费看| 色婷婷精品久久二区二区蜜臀av| 久久蜜桃一区二区| 国产乱码字幕精品高清av| 欧美一三区三区四区免费在线看 | 欧美日韩在线不卡| 亚洲欧美视频在线观看视频| 国产精品看片你懂得| 国产精品一区免费在线观看| 精品日韩成人av| 成人毛片在线观看| 日产欧产美韩系列久久99| 国产美女在线观看一区| 日韩欧美在线影院| 顶级嫩模精品视频在线看| 国产精品久久精品日日| 911精品产国品一二三产区| 日本三级亚洲精品| 国产日产欧美一区二区视频| 久久99精品国产.久久久久| 日韩主播视频在线| 久久久久国产精品人| 国产精一区二区三区| 亚洲va欧美va天堂v国产综合| 久久婷婷国产综合精品青草| 精品国产成人系列| 欧美高清视频www夜色资源网| 五月婷婷久久丁香| 亚洲一二三四在线观看| 国产精品66部| 日韩av电影天堂| 中文av字幕一区| 精品88久久久久88久久久| 欧美精品v日韩精品v韩国精品v| 国产成人免费高清| 麻豆精品蜜桃视频网站| 日韩电影在线一区二区| 精品一区二区国语对白| 国产精品无码永久免费888| 国产偷v国产偷v亚洲高清| 欧美α欧美αv大片| 99久久免费精品高清特色大片| 亚洲综合图片区| 中日韩av电影| 欧美性色黄大片| 国产河南妇女毛片精品久久久| 成人av片在线观看| 2023国产一二三区日本精品2022| 国产精品电影院| 成人综合婷婷国产精品久久蜜臀| 日韩美一区二区三区| 亚洲丰满少妇videoshd| 国产黄人亚洲片| 久久精品国产99| 欧美图片一区二区三区| 亚洲黄色免费电影| 欧美视频一区在线| 青青草国产精品亚洲专区无| 国产成人啪免费观看软件| 久久精品一区八戒影视| 国产成人综合在线播放| 中文字幕精品一区二区三区精品| 日本欧美久久久久免费播放网| 国产欧美精品一区二区三区四区| 久久久噜噜噜久久中文字幕色伊伊 | 天使萌一区二区三区免费观看| 波多野结衣中文字幕一区二区三区| 国产一区二区在线影院| 91黄色在线观看| 亚洲午夜精品网| 一本色道久久加勒比精品| 国产精品久久久久久户外露出| 亚洲激情综合网| 一本一本大道香蕉久在线精品| 国产欧美日韩在线| a在线欧美一区| 国产精品国产三级国产三级人妇| 狠狠色综合日日| 国产精品卡一卡二| 在线视频一区二区三| 一区二区三区欧美日韩| 欧美日韩久久久| 激情亚洲综合在线| 欧美tickling挠脚心丨vk| 激情综合色播五月| 亚洲精品写真福利| 欧美精品一区二区三区高清aⅴ| 成人小视频在线观看| 日韩一区欧美二区| 亚洲欧美另类小说| 国产欧美精品在线观看| 欧美精品一区二区三区很污很色的| 在线亚洲+欧美+日本专区| 91亚洲精华国产精华精华液| 床上的激情91.| 成人一级片网址| 成年人网站91| 99re热视频精品| 久久亚洲春色中文字幕久久久| 26uuu亚洲综合色欧美 | 99视频精品免费视频| 亚洲一区二区三区四区在线观看 | 日韩欧美在线123|