程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

mysql ecplain

編輯:關於MYSQL數據庫

EXPLAIN SELECT * FROM `gll_products` where `sn_class` =4;

| id | select_type | table         | type | possible_keys | key       | key_len | ref    | rows | Extra |

+----+-------------+--------------+------+---------------+----------+---------+-------+------+-------+

| 1 | SIMPLE       | gll_products | ref | class_sn       | class_sn | 4        | const |    12 |        |

+----+-------------+--------------+------+---------------+----------+---------+-------+------+-------+

詳解:

===============================================================================

id: SELECT識別符。這是SELECT的查詢序列號。

select_type: 可以為以下任何一種

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

     PRIMARY: 最外面的SELECT

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

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

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

table: 顯示這一行的數據是關於哪張表的

type: 這是重要的列,顯示連接使用了何種聯接類型。從最好到最差的連接類型為

       system, cons,eq_ref, ref, ref_or_null, index_merge, unique_subquery, index_subquery,range、index和ALL

possible_keys: 顯示可能應用在這張表中的索引 。如果為NULL,沒有可能的索引。

key: 實際使用的索引 。大部份情況下,如果沒走到索引,你就該重新考慮一下了哦。

key_len: 使用的索引的長度。在不損失精確性的情況下,長度越短越好 .

ref: 顯示索引的哪一列被使用了,如果可能的話,是一個常數

rows: MySQL認為必須檢查的用來返回請求數據的行數,當然也是越少越好。

(大部分情況下,優化時可以通過調整where條件。把對結果返回條數少,約束性大的條件加在前邊。)

extra: 該列包含MySQL解決查詢的詳細信息。

     Distinct: 一旦MySQL找到了與行相聯合匹配的行,就不再搜索了

     Not exists: MySQL優化了LEFT JOIN,一旦它找到了匹配LEFT JOIN標准的行,就不再搜索了

     Range checked for each:     Record(index map:#)沒有找到理想的索引,因此對於從前面表中來的每一個行組合,MySQL檢查使用哪個索引,

                                            並用它來從表中返回行。這是使用索引的最慢的連接之一

     Using filesort: 看到這個的時候,查詢就需要優化了。MySQL需要進行額外的步驟來發現如何對返回的行排序。它根據連接類型以及存儲排序鍵值和匹配條件的全部行的行指針來排序全部行

     Using index: 列數據是從僅僅使用了索引中的信息而沒有讀取實際的行動的表返回的,這發生在對表的全部的請求列都是同一個索引的部分的時候

     Using temporary: 看到這個的時候,查詢需要優化了。這裡,MySQL需要創建一個臨時表來存儲結果,這通常發生在對不同的列集進行ORDER BY上,而不是GROUP BY上。

    Using where: WHERE子句用於限制哪一個行匹配下一個表或發送到客戶。除非你專門從表中索取或檢查 所有行,如果Extra值不為Using where並且表聯接類型為ALL或index,

   查詢可能會有一些錯誤

===============================================================================

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved