站長資訊網
        最全最豐富的資訊網站

        結合實例分析mysql中or和in的效率

        結合實例分析mysql中or和in的效率

        mysql中or和in的效率

        前言

        今天遇到了一個網站卡死的問題,過了幾分鐘就好了,找到了一個定時腳本中有個sql,執行效率很慢,DBA建議將or改為in,效率提升了幾百倍

        場景描述

        1.兩個表關聯查詢
        2.table1 的數據量接近100萬
        3.table2 的數據量接近900萬
        4.查詢條件中的title字段沒有加索引
        5.原始查詢語句

        SELECT a.id as id FROM `table1`as a left join table2 as b on a.id=b.id WHERE b.title="衣服" or b.title="褲子" or b.title="帽子" limit 0,100

        6.改造后的查詢語句

        SELECT a.id as id FROM `table1`as a left join table2 as b on a.id=b.id WHERE b.title IN ("衣服","褲子","帽子") limit 0,100

        改造后的效率

        原sql的執行時間為5s,更改之后只需要0.01s

        原因

        查了一下資料,在數據量過百萬,并且條件沒有加索引,or的查詢效率遠遠低于in,or的效率為O(n),而in的效率為O(logn), 當n越大的時候效率相差越明顯。

        推薦學習:《mysql視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲中文字幕久久精品无码APP| 国产精品免费看久久久 | 亚洲精品动漫免费二区| 欧美精品国产精品| 久久亚洲私人国产精品| 久久精品国产亚洲av瑜伽| 久久精品国产亚洲沈樵| 99久久久精品免费观看国产| 亚洲国产精品高清久久久| 久久国产精品无码网站| 国产成人精品久久亚洲高清不卡 | 亚洲午夜精品久久久久久app| 国自产精品手机在线观看视频| 热99re久久国超精品首页| avtt天堂网久久精品| 精品综合久久久久久888蜜芽| 亚洲欧美精品午睡沙发| 欧美亚洲精品中文字幕乱码免费高清| 国产精品九九久久免费视频| 日韩麻豆国产精品欧美| 久久99精品国产99久久| 国产亚洲精品va在线| 97在线精品视频| 99精品久久精品| 国产精品国产精品国产专区不卡| 国产精品免费观看调教网| 国产精品乱码高清在线观看| 国产精品成人观看视频国产奇米 | 在线观看91精品国产入口| 欧美国产日本精品一区二区三区| 99久久免费国产精品热| 久久99国产精品久久久| 日本精品久久久久中文字幕| 欧美精品一本久久男人的天堂| 精品精品国产自在久久高清| 日本精品一区二区三区在线观看| 久久精品国产亚洲综合色| 在线精品视频播放| 国产免费伦精品一区二区三区| 精品日韩欧美国产| 无码国产亚洲日韩国精品视频一区二区三区|