校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > mysql優化利器之explain使用介紹

mysql優化利器之explain使用介紹

熱門標簽:谷歌地圖標注位置圖解 如何選擇優質的外呼系統 東莞外呼企業管理系統 桂林云電銷機器人收費 手機外呼系統違法嗎 清遠申請400電話 南通電銷外呼系統哪家強 地圖簡圖標注 沈陽智能外呼系統供應商

一、語法

{EXPLAIN | DESCRIBE | DESC}
  tbl_name [col_name | wild] 
{EXPLAIN | DESCRIBE | DESC}
  [explain_type] SELECT select_options 
explain_type: {EXTENDED | PARTITIONS}

二、數據庫準備

表一:

DROP TABLE IF EXISTS `products`;
SET @saved_cs_client   = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `products` (
 `products_id` int(11) unsigned NOT NULL auto_increment,
 `products_type` int(11) unsigned NOT NULL default '1',
 `products_quantity` float NOT NULL default '0',
 `products_model` varchar(32) default NULL,
 `products_upc` varchar(32) default NULL,
 `products_isbn` varchar(32) default NULL,
 `products_image` varchar(128) default NULL,
 `products_image_thumbnail` varchar(200) NOT NULL,
 `products_price` decimal(15,4) NOT NULL default '0.0000',
 `products_virtual` tinyint(1) NOT NULL default '0',
 `products_date_added` datetime NOT NULL default '0001-01-01 00:00:00',
 `products_last_modified` datetime default NULL,
 `products_date_available` datetime default NULL,
 `products_weight` float NOT NULL default '0',
 `products_status` tinyint(1) NOT NULL default '0',
 `products_tax_class_id` int(11) NOT NULL default '0',
 `manufacturers_id` int(11) default NULL,
 `products_web_id` int(11) default NULL,
 `products_ordered` float NOT NULL default '0',
 `products_quantity_order_min` float NOT NULL default '1',
 `products_quantity_order_units` float NOT NULL default '1',
 `products_priced_by_attribute` tinyint(1) NOT NULL default '0',
 `product_is_free` tinyint(1) NOT NULL default '0',
 `product_is_call` tinyint(1) NOT NULL default '0',
 `products_quantity_mixed` tinyint(1) NOT NULL default '0',
 `product_is_always_free_shipping` tinyint(1) NOT NULL default '0',
 `products_qty_box_status` tinyint(1) NOT NULL default '1',
 `products_quantity_order_max` float NOT NULL default '0',
 `products_sort_order` int(11) NOT NULL default '0',
 `products_discount_type` tinyint(1) NOT NULL default '0',
 `products_discount_type_from` tinyint(1) NOT NULL default '0',
 `products_price_sorter` decimal(15,4) NOT NULL default '0.0000',
 `master_categories_id` int(11) NOT NULL default '0',
 `products_mixed_discount_quantity` tinyint(1) NOT NULL default '1',
 `metatags_title_status` tinyint(1) NOT NULL default '0',
 `metatags_products_name_status` tinyint(1) NOT NULL default '0',
 `metatags_model_status` tinyint(1) NOT NULL default '0',
 `metatags_price_status` tinyint(1) NOT NULL default '0',
 `metatags_title_tagline_status` tinyint(1) NOT NULL default '0',
 `itemno` varchar(32) default NULL,
 `products_images_no` varchar(10) default '0',
 `products_url` varchar(512) default NULL,
 PRIMARY KEY (`products_id`),
 UNIQUE KEY `itemno` (`itemno`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;

表二:

DROP TABLE IF EXISTS `products_image`;
SET @saved_cs_client   = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `products_image` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `products_id` int(10) unsigned NOT NULL,
 `products_images_no` varchar(10) default '0',
 `image_dir` varchar(200) default NULL,
 `products_image_thumbnail` varchar(200) default NULL,
 `flag` int(2) default NULL,
 `up_time` datetime default NULL,
 `web_from` varchar(20) default NULL,
 PRIMARY KEY (`id`),
 KEY `idx_porducts_id` (`products_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;

三、關于explain選項

下面是一個實例:

mysql> explain select products_id from products limit 1;
+----+-------------+----------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table  | type | possible_keys | key   | key_len | ref | rows | Extra    |
+----+-------------+----------+-------+---------------+---------+---------+------+------+-------------+
| 1 | SIMPLE   | products | index | NULL     | PRIMARY | 4    | NULL | 3113 | Using index |
+----+-------------+----------+-------+---------------+---------+---------+------+------+-------------+

id

MySQL  Query  Optimizer選定的執行計劃中查詢的序列號。
表示查詢中執行select子句或操作表的順序,id值越大優先級越高,越先被執行。id相同,執行順序由上至下

select_type

1、SIMPLE:簡單的select查詢,不使用union及子查詢
2、PRIMARY:最外層的select查詢
3、UNION:UNION中的第二個或隨后的select查詢,不依賴于外部查詢的結果集
4、DEPENDENT UNION:UNION中的第二個或隨后的select查詢,依賴于外部查詢的結果集
5、UNION RESULT: UNION查詢的結果集SUBQUERY子查詢中的第一個select查詢,不依賴于外部查詢的結果集
6、DEPENDENT SUBQUERY:子查詢中的第一個select查詢,依賴于外部查詢的結果集DERIVED用于from子句里有子查詢的情況。
    MySQL會遞歸執行這些子查詢,把結果放在臨時表里。
7、UNCACHEABLE SUBQUERY:結果集不能被緩存的子查詢,必須重新為外層查詢的每一行進行評估
8、UNCACHEABLE UNION:UNION中的第二個或隨后的select查詢,屬于不可緩存的子查詢

table

1、system:表僅有一行(系統表)。這是const連接類型的一個特例。
2、const:const用于用常數值比較PRIMARY KEY時。當查詢的表僅有一行時,使用system。
3、eq_ref:除const類型外最好的可能實現的連接類型。它用在一個索引的所有部分被連接使用并且索引是UNIQUE或PRIMARY KEY,
    對于每個索引鍵,表中只有一條記錄與之匹配。
4、ref:連接不能基于關鍵字選擇單個行,可能查找到多個符合條件的行。叫做ref是因為索引要跟某個參考值相比較。
    這個參考值或者是一個常數,或者是來自一個表里的多表查詢的結果值。
5、ref_or_null:如同ref,但是MySQL必須在初次查找的結果里找出null條目,然后進行二次查找。
6、index_merge:說明索引合并優化被使用了。
7、unique_subquery:在某些IN查詢中使用此種類型,而不是常規的ref:
    value IN (SELECT primary_key FROM single_table WHERE some_expr)
    index_subquery在某些IN查詢中使用此種類型,與unique_subquery類似,但是查詢的是非唯一性索引:
    value IN (SELECT key_column FROM single_table WHERE some_expr)
8、range:只檢索給定范圍的行,使用一個索引來選擇行。key列顯示使用了哪個索引。
    當使用=、>、>、>=、、=、IS NULL、=>、BETWEEN或者IN操作符,用常量比較關鍵字列時,可以使用range。
9、index:全表掃描,只是掃描表的時候按照索引次序進行而不是行。主要優點就是避免了排序,但是開銷仍然非常大。
10、all:最壞的情況,從頭到尾全表掃描

 others

possible_keys:指出mysql能在該表中使用哪些索引有助于查詢。如果為空,說明沒有可用的索引
key:mysql實際從possible_key選擇使用的索引。如果為null,則沒有使用索引。
    很少的情況下,mysql會選擇優化不足的索引。這種情況下,
    可以在select語句中使用use  index(indexname)來強制使用一個索引
    或者用ignore  index(indexname)來強制mysql忽略索引
key_len:使用的索引的長度。在不損失精確性的情況下,長度越短越好
ref:顯示索引的哪一列被使用了
rows:mysql認為必須檢查的用來返回請求數據的行數

extra

1、Distinct: 一旦mysql找到了與行相聯合匹配的行,就不再搜索了。
2、Not exists: mysql 優化了LEFT JOIN,一旦它找到了匹配LEFT JOIN標準的行,就不再搜索了。
3、Range checked for each: Record(index map:#)沒有找到理想的索引,
    因此對于從前面表中來的每一個行組合,mysql檢查使用哪個索引,并用它來從表中返回行。這是使用索引的最慢的連接之一。
4、Using filesort: 表示MySQL會對結果使用一個外部索引排序,而不是從表里按索引次序讀到相關內容。
    可能在內存或者磁盤上進行排序。MySQL中無法利用索引完成的排序操作稱為“文件排序”。
5、Using index: 列數據是從僅僅使用了索引中的信息而沒有讀取實際的行動的表返回的,
    這發生在對表的全部的請求列都是同一個索引的部分的時候。
6、Using temporary: mysql需要創建一個臨時表來存儲結果,這通常發生在對不同的列集進行ORDER BY上,而不是GROUP BY上。
7、Using where: 使用了WHERE從句來限制哪些行將與下一張表匹配或者是返回給用戶。
    如果不想返回表中的全部行,并且連接類型ALL或index,這就會發生,或者是查詢有問題。

四、具體的實例

1、mysql版本

mysql> select version();
+------------+
| version() |
+------------+
| 5.1.73-log |
+------------+
1 row in set (0.00 sec)

2、sql語句分析1

mysql> explain select products_id from products; 
+----+-------------+----------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table  | type | possible_keys | key   | key_len | ref | rows | Extra    |
+----+-------------+----------+-------+---------------+---------+---------+------+------+-------------+
| 1 | SIMPLE   | products | index | NULL     | PRIMARY | 4    | NULL | 3113 | Using index |
+----+-------------+----------+-------+---------------+---------+---------+------+------+-------------

3、sql語句分析2

mysql> explain select products_id from (select * from products limit 10) b ;    
+----+-------------+------------+------+---------------+------+---------+------+------+-------+
| id | select_type | table   | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------+------+---------------+------+---------+------+------+-------+
| 1 | PRIMARY   | derived2> | ALL | NULL     | NULL | NULL  | NULL |  10 |    |
| 2 | DERIVED   | products  | ALL | NULL     | NULL | NULL  | NULL | 3113 |    |
+----+-------------+------------+------+---------------+------+---------+------+------+-------+

4、sql語句分析3

mysql> explain select products_id from products where products_id=10 union select products_id \

from products where products_id=20 ;
+----+--------------+------------+-------+---------------+---------+---------+-------+------+-------------+
| id | select_type | table   | type | possible_keys | key   | key_len | ref  | rows | Extra    |
+----+--------------+------------+-------+---------------+---------+---------+-------+------+-------------+
| 1 | PRIMARY   | products  | const | PRIMARY    | PRIMARY | 4    | const |  1 | Using index |
| 2 | UNION    | products  | const | PRIMARY    | PRIMARY | 4    | const |  1 | Using index |
| NULL | UNION RESULT | union1,2> | ALL  | NULL     | NULL  | NULL  | NULL | NULL |       |
+----+--------------+------------+-------+---------------+---------+---------+-------+------+-------------+

5、sql語句分析4

mysql> explain select * from products where products_id in ( select products_id from products where \

products_id=10 union select products_id from products where products_id=20 );
+----+--------------------+------------+-------+---------------+---------+---------+-------+------+-------------+
| id | select_type    | table   | type | possible_keys | key   | key_len | ref  | rows | Extra    |
+----+--------------------+------------+-------+---------------+---------+---------+-------+------+-------------+
| 1 | PRIMARY      | products  | ALL  | NULL     | NULL  | NULL  | NULL | 3113 | Using where |
| 2 | DEPENDENT SUBQUERY | products  | const | PRIMARY    | PRIMARY | 4    | const |  1 | Using index |
| 3 | DEPENDENT UNION  | products  | const | PRIMARY    | PRIMARY | 4    | const |  1 | Using index |
| NULL | UNION RESULT    | union2,3> | ALL  | NULL     | NULL  | NULL  | NULL | NULL |       |
+----+--------------------+------------+-------+---------------+---------+---------+-------+------+-------------+

完成

您可能感興趣的文章:
  • MySQL性能分析及explain的使用說明
  • mysql之explain使用詳解(分析索引)
  • MySql中如何使用 explain 查詢 SQL 的執行計劃
  • mysql開啟慢查詢(EXPLAIN SQL語句使用介紹)
  • mysql explain的用法(使用explain優化查詢語句)
  • MySQL性能優化神器Explain的基本使用分析
  • Mysql實驗之使用explain分析索引的走向
  • Mysql Explain命令的使用與分析
  • MySQL Explain使用詳解
  • MySQL中explain語句的基本使用教程

標簽:湖州 貴州 天津 臨沂 內蒙古 成都 重慶 常德

巨人網絡通訊聲明:本文標題《mysql優化利器之explain使用介紹》,本文關鍵詞  mysql,優化,利器,之,explain,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql優化利器之explain使用介紹》相關的同類信息!
  • 本頁收集關于mysql優化利器之explain使用介紹的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    日一区二区三区| 亚洲综合清纯丝袜自拍| 国产精品久久一级| 国产一区二区成人久久免费影院| 日韩欧美的一区| 韩国av一区二区三区在线观看| 欧美成人aa大片| 国产在线精品一区在线观看麻豆| 日韩欧美国产一区二区在线播放| 韩国成人精品a∨在线观看| 亚洲国产精品传媒在线观看| 国产成人一区二区精品非洲| 国产精品免费人成网站| 日本道精品一区二区三区 | 7878成人国产在线观看| 奇米777欧美一区二区| 久久精品亚洲精品国产欧美kt∨| 99久久精品国产一区二区三区| 一区二区三区久久| 精品蜜桃在线看| 91色在线porny| 热久久国产精品| 国产精品久久久久久久久动漫 | 久久久夜色精品亚洲| zzijzzij亚洲日本少妇熟睡| 香蕉成人伊视频在线观看| 日韩免费观看高清完整版 | 日本一区二区成人| 欧美老肥妇做.爰bbww视频| 国产乱码精品一品二品| 亚洲综合视频在线| 欧美国产精品一区二区三区| 欧美性猛片aaaaaaa做受| 国产激情视频一区二区在线观看| 亚洲综合成人在线| 欧美激情在线一区二区| 91美女片黄在线观看| 一区二区视频在线| 欧美激情一区二区三区全黄| 欧美一区2区视频在线观看| 97精品视频在线观看自产线路二| 美女久久久精品| 天涯成人国产亚洲精品一区av| 国产精品视频在线看| 精品处破学生在线二十三| 欧美二区在线观看| 欧美视频三区在线播放| 欧洲精品在线观看| 色综合一个色综合亚洲| 99精品视频一区二区三区| 成人丝袜高跟foot| 高清av一区二区| 国产精品一区二区免费不卡| 国产综合色精品一区二区三区| 久久精品噜噜噜成人av农村| 美腿丝袜在线亚洲一区| 九九国产精品视频| 久久99精品国产91久久来源| 青青青爽久久午夜综合久久午夜| 午夜精品久久久久| 婷婷久久综合九色综合绿巨人| 爽好多水快深点欧美视频| 亚洲图片欧美综合| 日本欧美大码aⅴ在线播放| 秋霞国产午夜精品免费视频| 黄一区二区三区| 国产东北露脸精品视频| 丁香激情综合国产| 一本色道久久综合亚洲aⅴ蜜桃| 色综合久久久久久久久久久| 欧美亚洲另类激情小说| 欧美精品tushy高清| 欧美一区二区三区播放老司机| 91精品在线麻豆| 2021久久国产精品不只是精品| 久久久久88色偷偷免费| 国产精品色眯眯| 亚洲国产毛片aaaaa无费看| 蜜臀久久99精品久久久画质超高清| 美女视频免费一区| 成人性生交大片| 在线观看日韩电影| 欧美xxxx老人做受| 国产精品久久久久久久久晋中| 亚洲国产毛片aaaaa无费看| 精品一区二区久久久| 色综合天天性综合| 欧美一区二区三区啪啪| 国产三级精品三级在线专区| 伊人色综合久久天天| 国产在线视频一区二区三区| 99国产精品国产精品久久| 欧美日韩精品久久久| 久久免费看少妇高潮| 亚洲男人的天堂在线观看| 奇米色777欧美一区二区| av不卡在线播放| 精品国产伦理网| 国产片一区二区| 亚洲成人免费影院| 国产白丝精品91爽爽久久| 欧美高清你懂得| 亚洲猫色日本管| 岛国精品在线播放| 26uuuu精品一区二区| 婷婷综合在线观看| 色噜噜夜夜夜综合网| 国产亚洲精品福利| 另类综合日韩欧美亚洲| 99久久国产综合精品女不卡| 欧美成人一区二区三区片免费| 一区二区三区在线影院| 国产精华液一区二区三区| 日韩视频一区二区三区在线播放 | 欧美变态tickle挠乳网站| 一区二区三区中文字幕在线观看| 精品亚洲成av人在线观看| 色狠狠桃花综合| 国产精品国产精品国产专区不蜜 | 亚洲国产日韩a在线播放| 国产精品 日产精品 欧美精品| 欧美一区日韩一区| 久久精品这里都是精品| 日产欧产美韩系列久久99| 在线视频综合导航| 成人免费在线观看入口| 国产成人午夜片在线观看高清观看| 欧美理论在线播放| 日本亚洲天堂网| 91麻豆精品国产自产在线| 亚洲国产精品久久久久婷婷884 | 91麻豆视频网站| 国产欧美日韩一区二区三区在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 日韩午夜电影av| 日韩av网站在线观看| 欧美日韩国产大片| 午夜影院在线观看欧美| 欧美日韩国产经典色站一区二区三区 | 久久久精品蜜桃| 国产永久精品大片wwwapp| 日韩欧美亚洲国产另类| 久久国产精品露脸对白| 日韩欧美中文字幕公布| 激情综合色综合久久综合| 精品国产免费久久| 国产乱淫av一区二区三区 | 亚洲一区二区三区中文字幕在线| 91香蕉视频污| 亚洲第一会所有码转帖| 日韩欧美国产成人一区二区| 激情小说欧美图片| 国产精品免费久久久久| 欧美亚一区二区| 久久国产精品99精品国产| 国产日本欧洲亚洲| 日本福利一区二区| 韩国视频一区二区| 亚洲人快播电影网| 91精品国产丝袜白色高跟鞋| 国产精品自在在线| 亚洲激情成人在线| 日韩精品一区二区三区蜜臀 | 日韩欧美一区二区三区在线| 国产一区二区三区综合| 最新热久久免费视频| 欧美日韩日日夜夜| 国产成人综合在线观看| 一区二区三区国产精华| 欧美mv日韩mv| 成年人网站91| 美女视频黄久久| 亚洲三级电影全部在线观看高清| 337p亚洲精品色噜噜| 粉嫩绯色av一区二区在线观看| 3atv在线一区二区三区| 不卡免费追剧大全电视剧网站| 亚洲一级在线观看| 国产精品视频免费| 在线不卡中文字幕| 99精品热视频| 国产激情视频一区二区三区欧美 | 中文字幕在线观看一区| 欧美一级欧美三级在线观看 | 国产亚洲1区2区3区| 欧美午夜寂寞影院| 成人理论电影网| 韩国毛片一区二区三区| 视频一区视频二区中文| 亚洲精品亚洲人成人网| 国产网站一区二区| 日韩美女主播在线视频一区二区三区| 日本精品一区二区三区四区的功能| 精品系列免费在线观看| 亚洲成人av一区二区| 亚洲一区中文在线| 亚洲精品精品亚洲| 亚洲精品乱码久久久久| 亚洲免费观看在线视频| 亚洲欧美一区二区在线观看|