中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL?explain中列的取值方法及含義是什么

發布時間:2023-03-21 11:00:59 來源:億速云 閱讀:100 作者:iii 欄目:開發技術

這篇文章主要介紹“MySQL explain中列的取值方法及含義是什么”,在日常操作中,相信很多人在MySQL explain中列的取值方法及含義是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL explain中列的取值方法及含義是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

type

type 取值含義
const使用主鍵 或 唯一二級索引
eq_ref被驅動表,用主鍵 或 唯一二級索引進行 (索引列不為空)
ref普通 的二級索引進行等值匹配 (索引列不為空)
ref_or_null普通 的二級索引進行等值匹配 (索引可以為空)
index_mergeTODO 索引合并相關的內容待探索
unique_subquery查詢優化器把 in 語句優化成 exists,使用了主鍵 或 唯一二級索引進行 (索引列不為空)
index_subquery查詢優化器把 in 語句優化成 exists,使用了普通索引
range范圍掃描
index1. 使用索引覆蓋, 但是要掃描全部的索引記錄 where條件只命中部分索引
2. 全表掃描, 并且要對主鍵進行排序
all全表掃描

ref

表示等值匹配用的是什么

ref 取值含義相關列
const與key列的索引名等值匹配key
表的列名與該列進行等值匹配
func函數

rows

預計掃描的行數

filtered

是一個百分比數,key1 掃描的數作為分母, common_field 命中的結果為分子

select * from s1 where key1 > 'z' and common_field = 'a'

表關聯的時候,這個指標比較重要,針對下表數據

tablerowsfiltered
s1968810
s21100

extra

extra 取值含義
Using index使用了索引覆蓋
Using index condition使用了索引下推
Using where在 server 層進行了判斷(沒有索引的列)
Using join buffer (Block Nested Loop)不能有效利用索引時,退而求其次使用緩存
Using filesort使用內存或者磁盤進行文件排序
Using temporary使用了臨時表

補充: 簡單闡述索引下推

client -> server -> 存儲引擎,下推的意思是把篩選放到存儲引擎,減少回表的數據量

形如 where key1 > xxx and key3 like ‘%a’ ,5.6 版本 like 的操作是在server層處理的,5.7.x的版本后可以在存儲引擎層完成過濾。

補充:group by 優化掉額外的排序操作

select common_field, count(*) as amount from s1 group by common_field;
-- 以上語句會被 mysql 補充為
select common_field, count(*) as amount from s1 group by common_field order by common_field;
-- 如果要省略文件排序, 則顯式聲明為 order by null
select common_field, count(*) as amount from s1 group by common_field order by null;

到此,關于“MySQL explain中列的取值方法及含義是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中山市| 朝阳市| 建德市| 黔南| 浑源县| 霍州市| 永济市| 肥西县| 宁乡县| 吉林省| 罗城| 大姚县| 贺州市| 友谊县| 宜川县| 合山市| 岗巴县| 永兴县| 库车县| 嘉定区| 金沙县| 灌云县| 保靖县| 若尔盖县| 安泽县| 黑河市| 西乌珠穆沁旗| 西乌| 丹凤县| 泽库县| 西昌市| 屯门区| 东莞市| 友谊县| 高雄市| 白朗县| 东兰县| 逊克县| 双柏县| 云霄县| 平凉市|