• <xmp id="wgksg"><samp id="wgksg"></samp>
  • <blockquote id="wgksg"></blockquote>
  • 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,我們直接看下面的例子

    學習疑問申請解答
    您的姓名
    您的電話
    意向課程
     

    中公優就業

    IT小助手

    掃描上方二維碼添加好友,請備注:599,享學習福利。

    >>本文地址:
    注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

    推薦閱讀

    優就業:ujiuye

    關注中公優就業官方微信

    • 關注微信回復關鍵詞“大禮包”,享學習福利
    QQ交流群
    在線疑問解答
    (加群備注“網站”)
    IT培訓交流群 加入群聊 +
    軟件測試 加入群聊 +
    全鏈路UI/UE設計 加入群聊 +
    Python+人工智能 加入群聊 +
    互聯網營銷 加入群聊 +
    Java開發 加入群聊 +
    PHP開發 加入群聊 +
    VR/AR游戲開發 加入群聊 +
    大前端 加入群聊 +
    大數據 加入群聊 +
    Linux云計算 加入群聊 +
    優就業官方微信
    掃碼回復關鍵詞“大禮包”
    享學習福利

    測一測
    你適合學哪門IT技術?

    1 您的年齡

    2 您的學歷

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

    獲取測試結果
     
    課程資料、活動優惠 領取通道
     
     
    A级毛片毛片免费观看久,A毛看片免费观看视频,毛片曰本女人牲交视频视频