mysql查看sql語(yǔ)句執(zhí)行效率

mysql查看sql語(yǔ)句執(zhí)行效率

ID:8972636

大小:16.13 KB

頁(yè)數(shù):2頁(yè)

時(shí)間:2018-04-13

mysql查看sql語(yǔ)句執(zhí)行效率_第1頁(yè)
mysql查看sql語(yǔ)句執(zhí)行效率_第2頁(yè)
資源描述:

《mysql查看sql語(yǔ)句執(zhí)行效率》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、0MySQL查看SQL語(yǔ)句執(zhí)行效率Explain命令在解決數(shù)據(jù)庫(kù)性能上是第一推薦使用命令,大部分的性能問(wèn)題可以通過(guò)此命令來(lái)簡(jiǎn)單的解決,Explain可以用來(lái)查看SQL語(yǔ)句的執(zhí)行效果,可以幫助選擇更好的索引和優(yōu)化查詢語(yǔ)句,寫(xiě)出更好的優(yōu)化語(yǔ)句。Explain語(yǔ)法:explainselect…from…[where...]例如:explainselect*fromnews;輸出:+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+

2、i

3、d

4、select_type

5、table

6、type

7、possible_keys

8、key

9、key_len

10、ref

11、rows

12、Extra

13、+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+下面對(duì)各個(gè)屬性進(jìn)行了解:1、id:這是SELECT的查詢序列號(hào)2、select_type:select_type就是select的類型,可以有以下幾種:SIMPLE:簡(jiǎn)單SELECT(不使用UNION或子查詢等)PRIMARY:最外面的SELECT

14、UNION:UNION中的第二個(gè)或后面的SELECT語(yǔ)句DEPENDENTUNION:UNION中的第二個(gè)或后面的SELECT語(yǔ)句,取決于外面的查詢UNIONRESULT:UNION的結(jié)果。SUBQUERY:子查詢中的第一個(gè)SELECTDEPENDENTSUBQUERY:子查詢中的第一個(gè)SELECT,取決于外面的查詢DERIVED:導(dǎo)出表的SELECT(FROM子句的子查詢)3、table:顯示這一行的數(shù)據(jù)是關(guān)于哪張表的4、type:這列最重要,顯示了連接使用了哪種類別,有無(wú)使用索引,是使用Explain命令分析性能瓶頸的關(guān)鍵項(xiàng)之一。結(jié)果值從好到壞依次是:system>c

15、onst>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>ALL一般來(lái)說(shuō),得保證查詢至少達(dá)到range級(jí)別,最好能達(dá)到ref,否則就可能會(huì)出現(xiàn)性能問(wèn)題。5、possible_keys:列指出MySQL能使用哪個(gè)索引在該表中找到行6、key:顯示MySQL實(shí)際決定使用的鍵(索引)。如果沒(méi)有選擇索引,鍵是NULL7、key_len:顯示MySQL決定使用的鍵長(zhǎng)度。如果鍵是NULL,則長(zhǎng)度為NULL。使用的索引的長(zhǎng)度。在不損失精確性的情況下,長(zhǎng)度越短越好

16、8、ref:顯示使用哪個(gè)列或常數(shù)與key一起從表中選擇行。9、rows:顯示MySQL認(rèn)為它執(zhí)行查詢時(shí)必須檢查的行數(shù)。10、Extra:包含MySQL解決查詢的詳細(xì)信息,也是關(guān)鍵參考項(xiàng)之一。Distinct一旦MYSQL找到了與行相聯(lián)合匹配的行,就不再搜索了NotexistsMYSQL優(yōu)化了LEFTJOIN,一旦它找到了匹配LEFTJOIN標(biāo)準(zhǔn)的行,就不再搜索了RangecheckedforeachRecord(indexmap:#)沒(méi)有找到理想的索引,因此對(duì)于從前面表中來(lái)的每一個(gè)行組合,MYSQL檢查使用哪個(gè)索引,并用它來(lái)從表中返回行。這是使用索引的最慢的連接之一Usi

17、ngfilesort看到這個(gè)的時(shí)候,查詢就需要優(yōu)化了。MYSQL需要進(jìn)行額外的步驟來(lái)發(fā)現(xiàn)如何對(duì)返回的行排序。它根據(jù)連接類型以及存儲(chǔ)排序鍵值和匹配條件的全部行的行指針來(lái)排序全部行Usingindex列數(shù)據(jù)是從僅僅使用了索引中的信息而沒(méi)有讀取實(shí)際的行動(dòng)的表返回的,這發(fā)生在對(duì)表的全部的請(qǐng)求列都是同一個(gè)索引的部分的時(shí)候Usingtemporary看到這個(gè)的時(shí)候,查詢需要優(yōu)化了。這里,MYSQL需要?jiǎng)?chuàng)建一個(gè)臨時(shí)表來(lái)存儲(chǔ)結(jié)果,這通常發(fā)生在對(duì)不同的列集進(jìn)行ORDERBY上,而不是GROUPBY上Usingwhere使用了WHERE從句來(lái)限制哪些行將與下一張表匹配或者是返回給用戶。如果不

18、想返回表中的全部行,并且連接類型ALL或index,這就會(huì)發(fā)生,或者是查詢有問(wèn)題其他一些Tip:1.當(dāng)type顯示為“index”時(shí),并且Extra顯示為“UsingIndex”,表明使用了覆蓋索引。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。