<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    superwei

    導航

    <2018年10月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    統計

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    【Mysql】關于索引

    DB引擎:InnoDB
    兩表A,B表均為6W+的記錄。用B表的信息更新A表。
    SQL:update A left join B on A.field1 = B.field1 and A.field2 = B.field2
             set A.field3 = B.field3, A.field4 = B.field4
    無引擎時:每1000更新需要2分11秒,全部更新大概需要2~3小時。

    此時加入索引:
    CREATE INDEX field1_Index ON `A`(`field1`);
    注:1、此處只加field1是因為 field2的內容變化很小,就那幾個值。
          2、此SQL里的字段都不是主鍵

    再次執行SQL,效率依舊。似乎索引沒有作用。為了驗證我的想法,查看了執行方式:
    explain update A left join B on A.field1 = B.field1 and A.field2 = B.field2
             set A.field3 = B.field3, A.field4 = B.field4 
    果然在執行時,沒用到索引。找到癥結,那就繼續找為什么索引沒有被用的原因。
    查找過程省略,直接上結果。
    因為是update,所以我認為 左聯和直聯,對于結果沒有區別,但是從左聯改為直聯后,
    再查詢執行方式,發現就能使用索引(原因暫不知道,以后知道了再寫)
    于是再次執行如下SQL:
    update A inner join B on A.field1 = B.field1 and A.field2 = B.field2
             set A.field3 = B.field3, A.field4 = B.field4 
    6W+的數據執行時間:1.43秒
    優化完畢。
    另,因為以上字段都非主鍵,所以 SQL修改成以下方式執行似乎更快,查詢執行方式,用到了主鍵索引和我自己加的索引
    update A left join B on A.field1 = B.field1 and A.field2 = B.field2
             set A.field3 = B.field3, A.field4 = B.field4
    where A.key in (select key from A)

    附:
    刪除索引:drop INDEX field1_Index ON `A`;
    查看索引:show index from A
    查看線程:select * from information_schema.processlist t
                  show processlist
    殺線程: kill processId


    posted on 2018-10-25 09:49 小辭猬 閱讀(173) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 欧洲一级毛片免费| 伊人久久免费视频| 免费国产综合视频在线看| tom影院亚洲国产一区二区| 久久aa毛片免费播放嗯啊| 亚洲中文字幕在线观看| 久久高潮一级毛片免费| 亚洲精品网站在线观看不卡无广告| 精品久久亚洲一级α| 国产乱子伦精品免费无码专区| 色天使色婷婷在线影院亚洲| 国产又黄又爽又刺激的免费网址| 亚洲乱理伦片在线观看中字| 日韩伦理片电影在线免费观看| 亚洲人成网站免费播放| 国产成人在线免费观看| 一级做a爰片久久毛片免费看| 国产91精品一区二区麻豆亚洲 | 久久精品国产精品亚洲色婷婷 | 亚洲色中文字幕在线播放| 成人毛片18女人毛片免费视频未| 激情综合亚洲色婷婷五月| 日韩在线免费电影| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 四虎国产精品免费久久影院| 边摸边脱吃奶边高潮视频免费| 4338×亚洲全国最大色成网站| 日本免费污片中国特一级| 亚洲va在线va天堂va手机| 国产成人在线免费观看| 国产亚洲精品免费视频播放| 亚洲精品中文字幕无乱码| 日韩高清在线免费观看| 国产精品综合专区中文字幕免费播放| 亚洲成AV人片天堂网无码| 57PAO成人国产永久免费视频| 免费一区二区无码视频在线播放 | 在线a亚洲v天堂网2018| 免费在线看污视频| 亚洲熟妇AV一区二区三区浪潮| 精品国产亚洲一区二区在线观看 |