<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 小辭猬 閱讀(172) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 希望影院高清免费观看视频| 国产精品免费视频观看拍拍| 在线看片免费人成视频久网下载| 亚洲精品无码av天堂| 久久精品亚洲日本波多野结衣| 免费无码成人AV片在线在线播放| 亚洲 欧洲 视频 伦小说| 亚洲免费视频网址| 亚洲精品美女网站| 操美女视频免费网站| 朝桐光亚洲专区在线中文字幕| 亚洲国产av无码精品| 99久久免费国产特黄| 亚洲日韩区在线电影| 一个人免费观看www视频在线| 久久亚洲精品国产精品婷婷| 国产成人高清精品免费鸭子| 国产AV日韩A∨亚洲AV电影| 亚洲偷自拍拍综合网| 你懂的免费在线观看网站| 亚洲天堂一区二区三区四区| 成全视频在线观看免费高清动漫视频下载 | 免费国内精品久久久久影院| 一区二区三区在线免费观看视频| 亚洲日韩欧洲乱码AV夜夜摸| 精品无码国产污污污免费网站| 亚洲国产乱码最新视频 | 亚洲精品国产精品乱码不卡 | 日韩视频在线精品视频免费观看| 在线综合亚洲欧洲综合网站| 亚洲VA综合VA国产产VA中| 久久免费精品一区二区| 亚洲精品123区在线观看| 亚洲乱码中文字幕手机在线 | 吃奶摸下高潮60分钟免费视频| 在线免费视频你懂的| 亚洲中文无码av永久| 亚洲国产电影av在线网址| 18未年禁止免费观看| 国产在亚洲线视频观看| 在线电影你懂的亚洲|