新聞中心
MySQL EXPLAIN語句可以獲得關(guān)于MySQL如何執(zhí)行SELECT語句的信息,下面就為您介紹該語句的使用說明,供您參考學(xué)習(xí)。

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十載品質(zhì),值得信賴!
EXPLAIN tbl_name
或:EXPLAIN [EXTENDED] SELECT select_options
MySQL EXPLAIN語句可以用作DESCRIBE的一個同義詞,或獲得關(guān)于MySQL如何執(zhí)行SELECT語句的信息:
EXPLAIN tbl_name是DESCRIBE tbl_name或SHOW COLUMNS FROM tbl_name的一個同義詞?!?nbsp;
如果在SELECT語句前放上關(guān)鍵詞EXPLAIN,MySQL將解釋它如何處理SELECT,提供有關(guān)表如何聯(lián)接和聯(lián)接的次序。
借助于MySQL EXPLAIN語句,可以知道什么時候必須為表加入索引以得到一個使用索引來尋找記錄的更快的SELECT。如果由于使用不正確的索引出現(xiàn)了問題,應(yīng)運(yùn)行ANALYZE TABLE更新表的統(tǒng)計(例如關(guān)鍵字集的勢),這樣會影響優(yōu)化器進(jìn)行的選擇。
還可以知道優(yōu)化器是否以一個***次序聯(lián)接表。為了強(qiáng)制優(yōu)化器讓一個SELECT語句按照表命名順序的聯(lián)接次序,語句應(yīng)以STRAIGHT_JOIN而不只是SELECT開頭。
MySQL EXPLAIN語句為用于SELECT語句中的每個表返回一行信息。表以它們在處理查詢過程中將被MySQL讀入的順序被列出。MySQL用一遍掃描多次聯(lián)接(single-sweep multi-join)的方式解決所有聯(lián)接。這意味著MySQL從***個表中讀一行,然后找到在第二個表中的一個匹配行,然后在第3個表中等等。當(dāng)所有的表處理完后,它輸出選中的列并且返回表清單直到找到一個有更多的匹配行的表。從該表讀入下一行并繼續(xù)處理下一個表。
當(dāng)使用EXTENDED關(guān)鍵字時,EXPLAIN產(chǎn)生附加信息,可以用SHOW WARNINGS瀏覽。該信息顯示優(yōu)化器限定SELECT語句中的表和列名,重寫并且執(zhí)行優(yōu)化規(guī)則后SELECT語句是什么樣子,并且還可能包括優(yōu)化過程的其它注解。
當(dāng)前標(biāo)題:MySQLEXPLAIN語句的使用
文章分享:http://fisionsoft.com.cn/article/djcsigg.html


咨詢
建站咨詢
