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


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


    網站導航:
     
    主站蜘蛛池模板: 狠狠亚洲狠狠欧洲2019| 伊在人亚洲香蕉精品区麻豆| 亚洲av之男人的天堂网站| 一区二区免费在线观看| 免费成人av电影| 黄页视频在线观看免费| 国产精品成人无码免费| 亚洲粉嫩美白在线| 粉色视频免费入口| 国产免费人成视频在线观看 | 免费一级大黄特色大片| 亚洲av日韩综合一区久热| 欧洲精品免费一区二区三区| 亚洲欧洲国产综合AV无码久久| 精品久久久久久久免费加勒比| 亚洲精品无码久久久久久| 免费观看四虎精品国产永久| 国产亚洲蜜芽精品久久| 亚洲午夜福利精品无码| 久久久久se色偷偷亚洲精品av | 国产高潮流白浆喷水免费A片 | 亚洲日韩在线观看免费视频| 中国一级特黄的片子免费 | 亚洲高清专区日韩精品| 久久亚洲AV成人无码国产电影| 亚洲国产黄在线观看| 亚洲三级高清免费| 国产三级免费电影| 精品国产麻豆免费人成网站| 亚洲欧洲一区二区三区| 免费观看成人久久网免费观看| 亚洲理论片中文字幕电影| 日韩视频免费一区二区三区| 亚洲精品视频免费| 亚洲人成人77777网站不卡| 永久在线毛片免费观看| 99久久免费国产精精品| 色偷偷亚洲女人天堂观看欧| 亚洲精品岛国片在线观看| 国产92成人精品视频免费| 久久亚洲私人国产精品|