明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

mysql慢查詢與EXPLAIN的相關(guān)說明

[摘要]前記:今天,數(shù)據(jù)庫的操作越來越成為整個應用的性能瓶頸了,這點對于Web應用尤其明顯。關(guān)于數(shù)據(jù)庫的性能,這并不只是DBA才需要擔心的事,而這更是我們程序員需要去關(guān)注的事情。當我們?nèi)ピO(shè)計數(shù)據(jù)庫表結(jié)構(gòu),對操作數(shù)據(jù)庫時(尤其是查表時的SQL語句),我們都需要注意數(shù)據(jù)操作的性能。1、開啟慢查詢1> 查...
前記:今天,數(shù)據(jù)庫的操作越來越成為整個應用的性能瓶頸了,這點對于Web應用尤其明顯。關(guān)于數(shù)據(jù)庫的性能,這并不只是DBA才需要擔心的事,而這更是我們程序員需要去關(guān)注的事情。當我們?nèi)ピO(shè)計數(shù)據(jù)庫表結(jié)構(gòu),對操作數(shù)據(jù)庫時(尤其是查表時的SQL語句),我們都需要注意數(shù)據(jù)操作的性能。

1、開啟慢查詢

1> 查看慢查詢是否開啟
   show variables like "%quer%";
   slow_query_log = ON  #已開啟

2> 開啟方法:my.cnf目錄配置

  slow_query_log=on #是否開啟
   slow_query_log_file=/opt/MySQL_Data/TEST1-slow.log #慢查詢文件位置
   long_query_time=2 #查詢超過多少秒才記錄

2、EXPLAIN慢查詢?nèi)罩纠锍霈F(xiàn)的SELECT查詢

explain列的解釋

table:顯示這一行的數(shù)據(jù)是關(guān)于哪張表的

type:這是重要的列,顯示連接使用了何種類型。從最好到最差的連接類型為const、eq_reg、ref、range、index、all

possible_keys:顯示可能應用在這張表中的索引。如果為空,沒有可能的索引?梢詾橄嚓P(guān)的域從where語句中選擇一個合適的語句

key: 實際使用的索引。如果為null,則沒有使用索引。很少的情況下,mysql會選擇優(yōu)化不足的索引。這種情況下,可以在select語句中使用use index(indexname)來強制使用一個索引或者用ignore index(indexname)來強制mysql忽略索引

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

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

rows:mysql認為必須檢查的用來返回請求數(shù)據(jù)的行數(shù)

extra:關(guān)于mysql如何解析查詢的額外信息。例子:using temporary和using filesort,意思mysql根本不能使用索引,結(jié)果是檢索會很慢

【相關(guān)推薦】

1. 免費mysql在線視頻教程

2. MySQL最新手冊教程

3. 數(shù)據(jù)庫設(shè)計那些事

以上就是mysql慢查詢和EXPLAIN的相關(guān)介紹的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學習教程快速掌握從入門到精通的SQL知識。