<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          mysql explain詳解

          共 1998字,需瀏覽 4分鐘

           ·

          2020-09-01 10:49

          點擊上方藍色字體,選擇“標(biāo)星公眾號”

          優(yōu)質(zhì)文章,第一時間送達

          ? 作者?|??瓦斯突突突

          來源 |? urlify.cn/Aj67Jb

          66套java從入門到精通實戰(zhàn)課程分享?

          適合創(chuàng)建索引的情況

          • 頻繁作為查詢條件的字段

          • 查詢中與其它表關(guān)聯(lián)的字段(左外連接建到右表字段上,右外連接建到左表字段上)

          • 查詢中排序的字段, 排序字段若通過索引去訪問將大大提高排序速度

          • 查詢中統(tǒng)計或者分組字段


          不適合創(chuàng)建索引的情況

          • 表記錄太少

          • 經(jīng)常增刪改的表或者字段


          Explain 性能分析(sql執(zhí)行計劃)

          • 能干嘛?

            • 表的讀取順序(id)

            • select查詢的類型(數(shù)據(jù)讀取類型 select_type)

            • 哪些索引可以使用

            • 哪些索引被使用

            • 表之間的引用

            • 每張表有多少行被優(yōu)化器查詢

          • Explain各字段含義

            • Using filesort :說明 mysql 會對數(shù)據(jù)使用一個外部的索引排序, 而不是按照表內(nèi)的索引順序進行讀取。MySQL 中無法利用索引完成的排序操作稱為“文件排序”

            • Using temporary :使了用臨時表保存中間結(jié)果,MySQL 在對查詢結(jié)果排序時使用臨時表。常見于排序 order by 和分組查詢group by

            • Using index :代表表示相應(yīng)的 select 操作中使用了覆蓋索引(Covering Index), 避免訪問了表的數(shù)據(jù)行, 效率不錯!

            • rows 列顯示 MySQL 認為它執(zhí)行查詢時必須檢查的行數(shù)。越少越好!

            • ref顯示索引的哪一列被使用了,如果可能的話,是一個常數(shù),哪些列或者常量被用于查找索引列上的值。只有當(dāng)type為ref級別以上的時候,ref這列才會有值

            • 表示索引中使用的字節(jié)數(shù), 可通過該列計算查詢中使用的索引的長度。key_len 字段能夠幫你檢查是否充分的利用上了索引,ken_len 越長, 說明索引使用的越充分

            • 實際使用的索引。如果為NULL, 則沒有使用索引

            • 顯示可能應(yīng)用在這張表中的索引, 一個或多個。查詢涉及到的字段上若存在索引, 則該索引將被列出, 但不一定被查詢實際使用

            • 意義:type是查詢的訪問類型,是較為重要的一個指標(biāo),結(jié)果值從最好到最壞依次是:system > const > eq_ref > ref > range > index > ALL ,一般來說, 得保證查詢至少達到 range 級別, 最好能達到 ref

            • system:表只有一行記錄(等于系統(tǒng)表), 這是 const 類型的特列, 平時不會出現(xiàn), 這個也可以忽略不計

            • const:單表中最多有一個匹配行,查詢起來非常迅速,例如根據(jù)主鍵或唯一索引查詢 (單表)

            • eq_ref:eq_ref用于聯(lián)表查詢(被聯(lián))的情況,按聯(lián)表的主鍵或唯一鍵聯(lián)合查詢。唯一性索引掃描,對于每個索引鍵,表中只有一條記錄與之匹配 (聯(lián)表)

            • ref:使用非唯一索引或非唯一索引前綴進行的查找

            • range:掃描部分索引,索引范圍掃描,對索引的掃描開始于某一點,返回匹配值域的行,常見于between、<、>等的查詢

            • index:掃描全部索引樹

            • all:掃描全表,不走索引,或者說沒有索引

            • 這個數(shù)據(jù)是基于哪張表的

            • 意義 : select查詢的類型,主要是區(qū)別普通查詢和聯(lián)合查詢、子查詢之類的復(fù)雜查詢,辨識查詢的類型,調(diào)整查詢方式

            • simple:簡單的select,不使用UNION或者子查詢

            • primary:最外層select

            • derived:在 from 列表中包含的子查詢被標(biāo)記為derived(衍生)

            • subquery:在select或where列表中包含了子查詢

            • depedent subquery:在select或where列表中包含了子查詢,子查詢基于外層

            • union:若第二個select出現(xiàn)在union之后, 則被標(biāo)記為union

            • union resulet:從union表獲取結(jié)果的select

            • 意義 : select 查詢的序列號,包含一組數(shù)字,表示查詢中執(zhí)行 select 子句或操作表的順序

            • id相同 : 執(zhí)行順序由上至下

            • id不同 : 如果是子查詢,id 的序號會遞增,id 值越大優(yōu)先級越高,越先被執(zhí)行

            • id有相同也有不同 : id如果相同,可以認為是一組,從上往下順序執(zhí)行;在所有組中,id值越大,優(yōu)先級越高,越先執(zhí)行

            • id

            • select_type

            • table

            • type

            • possible_keys

            • key

            • key_len

            • ref

            • rows

            • Extra 其他額外信息



          粉絲福利:108本java從入門到大神精選電子書領(lǐng)取

          ???

          ?長按上方鋒哥微信二維碼?2 秒
          備注「1234」即可獲取資料以及
          可以進入java1234官方微信群



          感謝點贊支持下哈?


          瀏覽 56
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  综合网中文字幕 | 大香蕉560 | 人人色,人人操 | 啪啪啪啪啪啪AVXXX | 国产免费大香蕉 |