<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)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    2018年10月25日 #

    希臘字母讀法

    posted @ 2021-06-19 11:43 小辭猬 閱讀(84) | 評論 (0)編輯 收藏

    【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 @ 2018-10-25 09:49 小辭猬 閱讀(172) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 四虎亚洲国产成人久久精品 | 国产精品亚洲综合一区| 啦啦啦中文在线观看电视剧免费版| 亚洲国产精品无码久久久蜜芽 | 国产免费看JIZZ视频| 亚洲福利视频网址| 亚洲免费一级视频| 亚洲国产高清在线精品一区| 久久成人国产精品免费软件| 亚洲狠狠狠一区二区三区| 免费成人激情视频| 亚洲乱色伦图片区小说| 免费萌白酱国产一区二区| 国产亚洲精品资源在线26u| 亚洲国产精品网站在线播放| 免费高清资源黄网站在线观看| 亚洲熟妇无码AV在线播放| 99在线视频免费观看| 久久久久亚洲AV无码麻豆| eeuss影院www天堂免费| 在线A亚洲老鸭窝天堂| 可以免费观看的毛片| 日木av无码专区亚洲av毛片| 100000免费啪啪18免进| 亚洲精品中文字幕无码A片老| 国产大片51精品免费观看| 中文字幕久无码免费久久| 亚洲第一区精品日韩在线播放| 国产线视频精品免费观看视频| 亚洲精品国产成人专区| 成年女人毛片免费视频| 四虎国产精品永免费| 久久精品国产亚洲av高清漫画| 毛片在线看免费版| 成av免费大片黄在线观看| 91亚洲国产成人久久精品网址 | 精品国产免费观看久久久| 久久久受www免费人成| 亚洲国产精品成人综合色在线婷婷| 日本免费网站观看| 亚洲国产成人精品无码区二本|