国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySql如何使用not in實現優化

2024-07-24 12:54:37
字體:
來源:轉載
供稿:網友

最近項目上用select查詢時使用到了not in來排除用不到的主鍵id一開始使用的sql如下:

select   s.SORT_ID,  s.SORT_NAME,  s.SORT_STATUS,  s.SORT_LOGO_URL,  s.SORT_LOGO_URL_LIGHTfrom SYS_SORT_PROMOTE s  WHERE    s.SORT_NAME = '必聽經典'    AND s.SORT_ID NOT IN ("SORTID001")  limit 1;

表中的數據較多時這個sql的執行時間較長、執行效率低,在網上找資料說可以用 left join進行優化,優化后的sql如下:

select   s.SORT_ID,  s.SORT_NAME,  s.SORT_STATUS,  s.SORT_LOGO_URL,  s.SORT_LOGO_URL_LIGHTfrom SYS_SORT_PROMOTE sleft join (select SORT_ID from SYS_SORT_PROMOTE where SORT_ID=#{sortId}) bon s.SORT_ID = b.SORT_ID  WHERE    b.SORT_ID IS NULL    AND s.SORT_NAME = '必聽經典'  limit 1;

上述SORT_ID=#{sortId} 中的sortId傳入SORT_ID這個字段需要排除的Id值,左外連接時以需要篩選的字段(SORT_ID)作為連接條件,最后在where條件中加上b.SORT_ID IS NULL來將表中的相關數據篩選掉就可以了。

這里寫下隨筆,記錄下優化過程。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江口县| 沁水县| 郧西县| 普兰县| 乡城县| 乐至县| 万宁市| 偃师市| 天柱县| 陵水| 专栏| 河池市| 张家界市| 琼结县| 溆浦县| 延川县| 田阳县| 全南县| 温宿县| 闸北区| 江永县| 新和县| 同心县| 安福县| 江安县| 北川| 莎车县| 密云县| 清徐县| 怀远县| 枞阳县| 永平县| 金昌市| 海宁市| 临江市| 红河县| 崇信县| 惠水县| 张掖市| 陇川县| 清新县|