explain

explain顯示了mysql如何使用索引來處理select語句以及鏈接表。能夠幫助選擇更好的索引和寫出更優化的查詢語句。使用方法,在select語句前加上explain就能夠了mysql

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

type:這是重要的列,顯示鏈接使用了何種類型。從最好到最差的鏈接類型爲const、eq_reg、ref、range、indexhe和ALL優化

possible_keys:顯示可能應用在這張表中的索引。若是爲空,沒有可能的索引。能夠爲相關的域從WHERE語句中選擇一個合適的語句spa

key: 實際使用的索引。若是爲NULL,則沒有使用索引。不多的狀況下,MYSQL會選擇優化不足的索引。這種狀況下,能夠在SELECT語句中使用USE INDEX(indexname)來強制使用一個索引或者用IGNORE INDEX(indexname)來強制MYSQL忽略索引orm

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

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

rows:MYSQL認爲必須檢查的用來返回請求數據的行數索引

Extra:關於MYSQL如何解析查詢的額外信息。it


BEGINtable

DECLARE sTemp VARCHAR(4000);

DECLARE sTempChd VARCHAR(4000);

SET sTemp = '$';

SET sTempChd = CAST(menuId AS CHAR);

WHILE sTempChd IS NOT NULL DO

SET sTemp = CONCAT(sTemp,',',sTempChd);

SELECT GROUP_CONCAT(menu_id) INTO sTempChd FROM menu WHERE FIND_IN_SET(parent_menu_id,sTempChd)>0;

起到遞歸查詢的做用?

END WHILE;

RETURN sTemp;

    END

http://xdj651897373-126-com.iteye.com/blog/1819924

相關文章
相關標籤/搜索