千家信息网

MySql怎样使用not in实现优化

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍MySql怎样使用not in实现优化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近项目上用select查询时使用到了not in来排除用不到的主键id一开
千家信息网最后更新 2025年11月08日MySql怎样使用not in实现优化

这篇文章主要介绍MySql怎样使用not in实现优化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

最近项目上用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来将表中的相关数据筛选掉就可以了。

以上是"MySql怎样使用not in实现优化"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

内容 字段 数据 条件 篇文章 经典 价值 兴趣 小伙 小伙伴 效率 时间 更多 知识 行业 资料 资讯 资讯频道 项目 频道 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 电力网络安全等级保护法规 软件开发试验 外文文献的查询网站和数据库 软件开发视频大讲堂c百度云 工业互联网北京科技大学 行唐软件开发费用 全市网络安全保障现状及对策 985院校网络安全专业排名 北京云音网络技术有限公司南京 网络安全向哪个部门举报 林业局开展网络安全宣传周活动 内蒙古自动化软件开发风格 南邮网络技术与应用考点 华为的网络安全信息 合肥新广网络技术有限公司 网络安全人员技能 diy微信服务器 数据库安全保护模式 医疗行业网络安全政策 陕西省网络安全等级保护 青少年网络安全结题报告 上海全球软件开发大会主题 在数据库设计中如何设计主键 北京数据库日志审计设计 数据库 设置防火墙 我的世界服务器澄清事件 2020网络安全发展趋势 企业档案管理软件开发流程 童装视频软件开发 赞丽显示找不到服务器
0