<address id="1p9b1"></address>

              <form id="1p9b1"></form>
                400-650-7353
                您所在的位置:首頁 > IT干貨資料 > 軟件測試 > 【軟件測試基礎知識】執行計劃中索引使用的情況

                【軟件測試基礎知識】執行計劃中索引使用的情況

                • 發布: 軟件測試培訓
                • 來源:軟件測試干貨資料
                • 2021-05-12 13:56:16
                • 閱讀()
                • 分享
                • 手機端入口

                在我的上一篇文章《功能測試也可以發現數據庫相關的性能問題》中提到,通過SQL語句的執行計劃可以斷定一些語句肯定有性能問題,今天再寫一篇文章,介紹一下執行計劃中索引使用的情況。

                執行explain之后結果集包含如下信息:

                possible_keys:指出MySQL能使用哪個索引在表中找到記錄,查詢涉及到的字段上若存在索引,則該索引將被列出,但不一定被查詢使用(該查詢可以利用的索引,如果沒有任何索引顯示NULL)

                key:顯示MySQL實際決定使用的鍵(索引),一般會情況會包含在possible_keys中,如果沒有選擇索引,鍵是NULL。

                possible_keys和key產生的情況可能有以下幾種:

                1)possible_keys有多個值,key得值為possible_keys中的一個。

                2)possible_keys有一個值,key的值和possible_keys中的值相同。

                3)possible_keys有一個或多個值,但key為NULL。

                4)possible_keys為NULL,但key有值。

                5)possible_keys和key都為NULL。

                下面我們分別來看下各種情況。

                1. possible_keys有多個值,key得值為possible_keys中的一個。

                這種情況比較常見,因為每條sql最多只能用到一個索引。下面的例子我們在col1字段上創建了一個單獨索引和一個復合索引,所以possible_keys有兩個,但key只有一個。

                2. possible_keys有一個值,key的值和possible_keys中的值相同。在上面的基礎上,我們刪掉任意一個索引。結果如下:

                3. possible_keys有一個或多個值,但key為NULL。下圖中,因為col1為varchar類型,但是查詢的時候沒有加上引號

                4. possible_keys為NULL,但key有值。這種一般是引用了覆蓋索引的情況,col1,col2和col3兩列加過聯合索引,select的字段不是*,而是col1和col2,所以結果只會出現在key這一列中。

                5. possible_keys和key都為NULL,我們直接看下面的例子

                文章“【軟件測試基礎知識】執行計劃中索引使用的情況”已幫助

                >>本文地址:http://www.52411888.com/zhuanye/2021/68696.html

                THE END  

                聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

                領取零基礎自學IT資源

                (內含學習路線+視頻教程+項目源碼)

                涉及Java、Web前端、UI設計、軟件測試、Python等多個IT熱門方向

                打開微信掃一掃即可領取哦~

                1 您的年齡

                2 您的學歷

                3 您更想做哪個方向的工作?

                獲取測試結果
                • 大前端大前端
                • 大數據大數據
                • 互聯網營銷互聯網營銷
                • JavaJava
                • Linux云計算Linux
                • Python+人工智能Python
                • 嵌入式物聯網嵌入式
                • 全域電商運營全域電商運營
                • 軟件測試軟件測試
                • 室內設計室內設計
                • 平面設計平面設計
                • 電商設計電商設計
                • 網頁設計網頁設計
                • 全鏈路UI/UE設計UI設計
                • VR/AR游戲開發VR/AR
                • 網絡安全網絡安全
                • 新媒體與短視頻運營新媒體
                • 直播帶貨直播帶貨
                • 智能機器人軟件開發智能機器人
                 

                快速通道fast track

                近期開班時間TIME

                行长将她双腿分得更开

                        <address id="1p9b1"></address>

                            <form id="1p9b1"></form>