久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql中執(zhí)行計(jì)劃索引的示例分析

共計(jì) 1821 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 mysql 中執(zhí)行計(jì)劃索引的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

首先執(zhí)行計(jì)劃包含的信息:

id, select_type, table, partitions, type, possible_keys, key, key_len, ref, rows, filtered, Extra

id

select 查詢(xún)的序列號(hào),包含一組數(shù)字,表示查詢(xún)中執(zhí)行 select 子句或操作表的順序  

存在三種情況:

a)  id 相同,表示表(table 字段)執(zhí)行順序從上到上

b)  id 不同,如果是子查詢(xún),id 越大表執(zhí)行的優(yōu)先級(jí)越高

c)  id 有相同也有不同,id 相同,可認(rèn)為是同一組,從上至下順序執(zhí)行,所有組中 id 越大執(zhí)行優(yōu)先級(jí)越高

select_type

主要有六種  

SIMPLE               簡(jiǎn)單查詢(xún),不包括自查詢(xún)及 union

PRIMAY               查詢(xún)中包含任何復(fù)雜的子部分的最外層查詢(xún)的標(biāo)記

SUBQUERY       在 select 或 where 子句列表中包含自查詢(xún)

DERIVED           在 from 列表中包括的子查詢(xún)標(biāo)記為 derived(衍生)mysql 遞歸查詢(xún)這些子查詢(xún)并放在臨時(shí)表里

UNION               如果第二個(gè) select 出現(xiàn)在 union 之后則標(biāo)記為 union,

                            如果 union 包含在 from 子句的子查詢(xún)中,外層的 select 標(biāo)記為 derived

UNION RESULT union 結(jié)果的合并

table

對(duì)應(yīng)的表

type

訪問(wèn)類(lèi)型  

效率 system const eq_ref ref fulltext ref_or_null index_merge unique_subquery index_subquery range index ALL

主要使用到的:system const eq_ref ref range index ALL 

system   表只有一行記錄(系統(tǒng)表)

const     索引常量

eq_ref   唯一性索引掃描

ref         非唯一性索引掃描

range   范圍索引掃描(索引列使用 between in 等范圍限定) 

index   全索引掃描  

ALL     全表掃描

possible_keys

查詢(xún)涉及到的字段上存在的索引一個(gè)或多個(gè)(可能用到的,但不一定會(huì)使用)

keys

實(shí)際使用的索引  

key_len

索引使用的字節(jié)數(shù),可通過(guò)該列計(jì)算查詢(xún)中使用索引的長(zhǎng)度,同樣查詢(xún)結(jié)果條件下(不損失精度的條件下),長(zhǎng)度越小越好

顯示的值為索引的最大可能長(zhǎng)度,非實(shí)際長(zhǎng)度,即 key_len 通過(guò)表定義計(jì)算所得非表內(nèi)檢索值

ref

顯示索引用到的列(或用到的是常量)例 db.table.col ,const

rows

根據(jù)表統(tǒng)計(jì)信息及索引選用情況,大致估算出找到所需的記錄需要讀取的行數(shù)

Extra

其他信息

1、Using filesort  

使用外部的索引排序(文件排序),而不是按照索引的排序進(jìn)行讀取  

例如使用復(fù)合索引的表,查詢(xún)排序時(shí)只使用了復(fù)合索引的其中一列,可能會(huì)造成文件排序。需盡量避免的情況

2、Using temporary  

使用了臨時(shí)表保存中間結(jié)果,常見(jiàn)于 order by 及 group by 

消耗資源,需避免的情況

order by 及 group by 語(yǔ)句中使用覆蓋索引

3、Using index

使用的覆蓋索引,避免訪問(wèn)表的數(shù)據(jù)行  

同時(shí)出現(xiàn) using where,表示索引用來(lái)查詢(xún)索引鍵值的查找(如查詢(xún)結(jié)果中的列被索引列覆蓋)

如果沒(méi)有出現(xiàn) using where,表示索引直接用來(lái)讀取數(shù)據(jù),不執(zhí)行查找動(dòng)作

* 覆蓋索引(Covering index)

select 的數(shù)據(jù)列只從索引中獲得,不必查找數(shù)據(jù)行  

4、Using where

5、Using join buffer

使用了連接緩存

6、Impossible where 

where 子句結(jié)果 false

7、select table optimized away 

在沒(méi)有 group by 子句的情況下,基于索引優(yōu)化 MIN/MAX 操作或者對(duì)于 MyISAM 存儲(chǔ)引擎優(yōu)化 COUNT(*) 操作,不必等到執(zhí)行階段再進(jìn)行計(jì)算,查詢(xún)執(zhí)行接話生成階段即可完成優(yōu)化

8、distinct

優(yōu)化 distinct 操作,在找到第一匹配的元組后即停止找同樣值的動(dòng)作

以上是“mysql 中執(zhí)行計(jì)劃索引的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-27發(fā)表,共計(jì)1821字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 西城区| 桓仁| 固安县| 汝城县| 南和县| 长子县| 峡江县| 新干县| 大姚县| 永德县| 商水县| 永川市| 安义县| 虹口区| 昂仁县| 揭西县| 鄂伦春自治旗| 措美县| 龙山县| 手游| 金阳县| 临猗县| 福泉市| 喀喇| 抚宁县| 龙泉市| 资源县| 台东市| 隆化县| 阿尔山市| 临桂县| 明水县| 奈曼旗| 伊春市| 金山区| 全州县| 土默特右旗| 虹口区| 贵港市| 涞源县| 蓬安县|