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

主頁 > 知識庫 > explain分析sql效率的方法

explain分析sql效率的方法

熱門標簽:遂寧400電話申請 南寧智能電銷機器人價格 永州智能外呼系統 電銷機器人市場價 地圖標注直通車 邯鄲400電話注冊辦理 趙縣地圖標注 dq8 全地圖標注 哈爾濱云外呼系統運營商

Explain命令在解決數據庫性能上是第一推薦使用命令,大部分的性能問題可以通過此命令來簡單的解決,Explain可以用來查看SQL語句的執行效 果,可以幫助選擇更好的索引和優化查詢語句,寫出更好的優化語句。

Explain語法:

EXPLAIN tbl_name或:EXPLAIN [EXTENDED] SELECT select_options

前者可以得出一個表的字段結構等等,后者主要是給出相關的一些索引信息,而今天要講述的重點是后者。

例:

EXPLAIN 
  SELECT sum(amount) 
FROM customer a, payment b 
  WHERE1 = 1 
AND a.customer_id = b.customer_id 
AND a.email = 'JANE.BENNETT@sakilacustomer.org'; 

執行結果:

下面對各個屬性進行了解:

1、id:這是SELECT的查詢序列號

2、select_type:select_type就是select的類型,可以有以下幾種:

SIMPLE:簡單SELECT(不使用UNION或子查詢等)

PRIMARY:最外面的SELECT

UNION:UNION中的第二個或后面的SELECT語句

DEPENDENT UNION:UNION中的第二個或后面的SELECT語句,取決于外面的查詢

UNION RESULT:UNION的結果。

SUBQUERY:子查詢中的第一個SELECT

DEPENDENT SUBQUERY:子查詢中的第一個SELECT,取決于外面的查詢

DERIVED:導出表的SELECT(FROM子句的子查詢)

3、table:顯示這一行的數據是關于哪張表的實際的表名(如select * from customer;) 或表的別名 (如 select * from customer a);

4、type:這列最重要,顯示了連接使用了哪種類別,有無使用索引,是使用Explain命令分析性能瓶頸的關鍵項之一。

結果值從好到壞依次是:

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

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

all: 意味著從表的第1行,往后,逐行做全表掃描.,運氣不好掃描到最后一行.

index: 比all性能稍好一點,
通俗的說: all 掃描所有的數據行,相當于data_all index 掃描所有的索引節點,相當于index_all

注:all是沿著磁盤掃描,index是沿著索引掃描

range: 意思是查詢時,能根據索引做范圍的掃描

explain select * from customer where customer_id > 4;

index_subquery 在子查詢中,基于除唯一索引之外的索引進行掃描;

unique_subquery 在子查詢中,基于唯一索引進行掃描,類似于EQ_REF;

index_merge 多重范圍掃描。兩表連接的每個表的連接字段上均有索引存在且索引有序,結果合并在一起。適用于作集合的并、交操作。

ref_or_null 類似REF,只是搜索條件包括:連接字段的值可以為NULL的情況,比如 where col = 2 or col is null

fulltext 全文索引

ref 這也是一種索引訪問,它返回所有匹配某個單獨值的行,然而,它可能會找到多個符合條件的行,所以他應該屬于查找和掃描的混合體(也是范圍區間,不過比range更加精確)。

explain select * from payment where customer_id =4;

eq_ref 是指,通過索引列,直接引用某1行數據(精確到一行數據中)常見于連接查詢中

const, system, null 當mysql能對查詢的部分就行優化,并且轉換成一個常量的時候,它就會使用這種訪問類型了。比如你把一行的主鍵當做where條件放進去,那mysql就可以把它轉換成一個常量,然后查詢.

5、possible_keys:列指出MySQL能使用哪個索引在該表中找到行

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

7、key_len:顯示MySQL決定使用的鍵長度。如果鍵是NULL,則長度為NULL。使用的索引的長度。在不損失精確性的情況下,長度越短越好

8、ref:顯示使用哪個列或常數與key一起從表中選擇行。

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

10、Extra:包含MySQL解決查詢的詳細信息,也是關鍵參考項之一。

using index:出現這個說明mysql使用了覆蓋索引,避免訪問了表的數據行,效率不錯! 
using where:這說明服務器在存儲引擎收到行后將進行過濾。有些where中的條件會有屬于索引的列,當它讀取使用索引的時候,就會被過濾,所以會出現有些where語句并沒有在extra列中出現using where這么一個說明。 
using temporary:這意味著mysql對查詢結果進行排序的時候使用了一張臨時表。 
using filesort:這個說明mysql會對數據使用一個外部的索引排序,而不是按照表內的索引順序進行讀取。 

除此以外,explain 的extended 擴展能夠在原本explain的基礎上額外的提供一些查詢優化的信息,這些信息可以通過mysql的show warnings命令得到。下面是一個最簡單的例子。 

EXPLAIN EXTENDED
SELECT sum(amount)
FROM customer a, payment b
WHERE 1 = 1
AND a.customer_id = b.customer_id
AND a.email = 'JANE.BENNETT@sakilacustomer.org';

接下來再執行Show Warnings  

mysql> show warnings;
+---------+------+--------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-------------------------------+
| Level | Code | Message

|
+---------+------+--------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-------------------------------+
| Warning | 1681 | 'EXTENDED' is deprecated and will be removed in a future rele
ase.

|
| Note | 1003 | /* select#1 */ select sum(`sakila`.`b`.`amount`) AS `sum(amou
nt)` from `sakila`.`customer` `a` join `sakila`.`payment` `b` where ((`sakila`.`
b`.`customer_id` = `sakila`.`a`.`customer_id`) and (`sakila`.`a`.`email` = 'JANE
.BENNETT@sakilacustomer.org')) |
+---------+------+--------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-------------------------------+
2 rows in set (0.00 sec)

可以看到優化器自動去除了1=1恒成立的條件?!?/p>

MySQL5.1開始支持分區功能,同時explain命令也增加了對分區的支持。可以通過explain partitions 命令查看SQL所訪問的分區。

以上這篇explain分析sql效率的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 查詢優化之EXPLAIN的使用分析
  • MySQL性能分析及explain的使用說明
  • mysql中explain用法詳解

標簽:鄂州 張家界 阿里 中衛 南寧 定西 浙江 上海

巨人網絡通訊聲明:本文標題《explain分析sql效率的方法》,本文關鍵詞  explain,分析,sql,效率,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《explain分析sql效率的方法》相關的同類信息!
  • 本頁收集關于explain分析sql效率的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美经典一区二区三区| 欧美日韩一本到| 欧美日韩专区在线| 狠狠色丁香婷婷综合久久片| 中文字幕一区二区三区色视频| 99精品偷自拍| 国产精品123区| 美女爽到高潮91| 国产一区二区精品久久91| 777a∨成人精品桃花网| 亚洲精品日日夜夜| 国产欧美视频一区二区三区| 久久精品欧美日韩精品| 亚洲成在线观看| 91影院在线免费观看| 欧美日韩的一区二区| 欧美一级专区免费大片| 亚洲成人精品一区| 91蜜桃传媒精品久久久一区二区| 欧美亚洲一区三区| 国产亚洲综合在线| 亚洲成人免费观看| 国产在线精品不卡| 久久99精品久久久久婷婷| 色婷婷综合久久久中文一区二区| 欧美色图天堂网| 一区二区免费看| 久久久久久久综合狠狠综合| 91色婷婷久久久久合中文| 99久久婷婷国产综合精品电影 | 亚洲高清免费在线| 欧美日韩国产综合一区二区| 日韩国产欧美在线视频| 日韩久久免费av| 99久久er热在这里只有精品66| 99精品视频一区| 精品国产电影一区二区| 成人免费精品视频| 91小视频免费看| 国产成人综合精品三级| 国产91精品久久久久久久网曝门| 麻豆国产精品一区二区三区| 青娱乐精品视频在线| 久久99精品网久久| 成人开心网精品视频| www.色综合.com| 欧美影院一区二区三区| 56国语精品自产拍在线观看| 久久综合成人精品亚洲另类欧美| 日韩一区二区在线观看视频| 久久午夜色播影院免费高清| 久久久精品tv| 国产精品久久久久三级| 亚洲18女电影在线观看| 蜜桃av一区二区三区| 久久成人精品无人区| 成人丝袜18视频在线观看| av在线免费不卡| 欧美日韩你懂得| 精品国产免费一区二区三区四区 | 3751色影院一区二区三区| 91精品国产综合久久香蕉的特点| 国产亚洲欧美激情| 视频一区视频二区中文| 成人国产精品免费网站| 欧美三级日韩在线| 综合激情成人伊人| 蜜臀av性久久久久蜜臀aⅴ流畅 | 午夜日韩在线电影| 99精品黄色片免费大全| 国产精品―色哟哟| 久久99精品国产91久久来源| 欧美日韩一区二区电影| 国产精品久久综合| 成人午夜电影小说| 国产亚洲欧美色| 极品少妇xxxx精品少妇偷拍| 91精品在线观看入口| 亚洲电影一级黄| 久久精品国产第一区二区三区| 日韩一区二区三区精品视频| 一区二区在线观看视频| 国产高清精品网站| 欧美大白屁股肥臀xxxxxx| 亚洲女与黑人做爰| 欧美男同性恋视频网站| 亚洲chinese男男1069| 欧美无人高清视频在线观看| 26uuu久久综合| 成人黄色免费短视频| 国产精品高潮呻吟久久| 国产精品一区二区在线播放| 日韩精品中文字幕在线一区| 成人av网址在线观看| 亚洲精品免费在线| 成人午夜免费av| 日本欧美一区二区三区乱码| 欧美一区二区久久| 韩国女主播成人在线观看| 亚洲免费高清视频在线| 欧美日韩高清在线| 国产露脸91国语对白| 一区二区三区成人在线视频| 日韩欧美一级二级| 美女视频一区二区三区| 亚洲日穴在线视频| 91精品国产全国免费观看 | 国产精品区一区二区三区 | 亚洲va中文字幕| 久久精品夜夜夜夜久久| 国产91精品露脸国语对白| 精品国产免费视频| 91女神在线视频| 美女看a上一区| 26uuu国产在线精品一区二区| 国产在线精品国自产拍免费| 亚洲国产精品传媒在线观看| 欧美优质美女网站| 99精品久久99久久久久| 成人动漫av在线| 国产精品久久久久久久久动漫 | 欧美日韩视频在线第一区| 国产一区二区在线视频| 国产一区免费电影| 人人狠狠综合久久亚洲| 免费观看日韩电影| 精品一区二区三区久久| 国产一区不卡精品| 99久久99久久精品免费看蜜桃| 久久国产精品99久久人人澡| 国产91对白在线观看九色| 91色视频在线| 精品久久免费看| 一区二区三区av电影| 国产精品主播直播| 欧美二区三区91| 亚洲在线观看免费视频| 国产成人精品一区二区三区网站观看 | 亚洲bdsm女犯bdsm网站| 不卡av在线免费观看| 久久先锋影音av鲁色资源网| 亚洲美女淫视频| 91蜜桃在线观看| 中文字幕一区二区三区乱码在线 | 91视频免费看| 中文子幕无线码一区tr| 久久国产精品99久久久久久老狼 | 亚洲.国产.中文慕字在线| 91成人在线精品| 亚洲激情网站免费观看| 在线视频国产一区| 成人免费一区二区三区视频 | 中文字幕欧美国产| 亚洲福利一区二区| 欧美性大战xxxxx久久久| 亚洲六月丁香色婷婷综合久久 | 欧美日韩亚洲高清一区二区| 一区二区三区在线影院| 成人精品亚洲人成在线| 国产精品网站导航| 在线观看区一区二| 一区二区成人在线观看| 丁香婷婷综合激情五月色| 日韩一区欧美小说| 7777精品伊人久久久大香线蕉的| 日本欧美肥老太交大片| 欧美日韩精品专区| 国产丝袜欧美中文另类| 97超碰欧美中文字幕| 午夜在线成人av| 欧美xxxx老人做受| 国产成人综合在线播放| 亚洲动漫第一页| 欧美成人国产一区二区| 视频一区在线视频| 国产精品久久夜| 色哟哟精品一区| 男男gaygay亚洲| 亚洲午夜电影网| 久久久久综合网| 欧美日韩国产色站一区二区三区| 国产原创一区二区三区| 夜夜嗨av一区二区三区网页| 日韩一区二区三区视频| 欧美日韩国产精品成人| 国产成人av自拍| 高清在线观看日韩| 精品中文av资源站在线观看| kk眼镜猥琐国模调教系列一区二区| 欧美精品粉嫩高潮一区二区| caoporen国产精品视频| 亚洲国产视频直播| 亚洲三级在线免费| 一区二区三区高清在线| 亚洲一区自拍偷拍| 亚洲一区自拍偷拍| 免费成人在线播放| 成人午夜电影久久影院| 欧美日韩美少妇| 久久免费视频一区|