`
pengjun1128
  • 浏览: 16085 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

sql not in 优化

阅读更多
获取a 表中存在但是在b 表中不存在的数据 用not in 速度是不很乐观。
不过还有替代写法
SELECT a.goods_id FROM ecs_goods as a left join ecs_goods_promotion_ref as b on a.goods_id = b.goods_id where b.goods_id is NULL


优化后的sql 。执行后结果是一样的。mark 一下。
分享到:
评论

相关推荐

    SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句.txt

    SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句.txt欢迎下载!

    SQLServer 优化SQL语句 in 和not in的替代方案

    用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。

    SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句2.txt

    SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句2.txt,欢迎下载!

    sql语句优化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的语句

    sql语句优化之用EXISTS替代IN、用NOT EXISTS替代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_LIGHT from SYS_SORT_PROMOTE s...

    sql not in 与not exists使用中的细微差别

    上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样 第一条sql查询的结果有一条数据 第二条sql查询的结果却为空  原因: not exists的子查询,对于子查询不返回行和...

    SQL里的EXISTS与IN

    系统要求进行SQL优化,对效率比较低的SQL进行优化,使其运行效率更高,其中要求对SQL中的部分in/not in修改为exists/not

    ORACLE SQL性能优化系列(全)

    非常全面的ORACLE SQL性能优化介绍及实例:优化器的选择、共享SQL语句、访问Table的方式、减少访问数据库的次数、使用DECODE函数、减少对表的查询、通过内部函数提高SQL效率、用NOT EXISTS替代NOT IN、使用EXPLAIN ...

    SQL性能优化

    由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。  NOT IN  此操作是强列推荐不使用的,因为不能应用表的索引。  推荐方案:用NOT EXISTS 或...

    oracle的sql优化

    用Exist或Not Exists来代理In。In进行子查询效率很差。 5.SQL语句分析  通过SQLPLUS中的SET TRACE 功能对Sql语句的性能进行分析  通过Toad或PL/SQL Developer对语句的性能进行和索引的使用情况进行分析  对Oracle...

    SQL查询语句优化的实用方法总结

    查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的...3、尽量避免使用in 和not in,会导致数据库引擎放弃索引进行全表扫描。如下: SELECT * FROM t WHERE id IN (2,3) SELECT * FROM t1 WH

    SQL普查优化信息汇总

    在Sql语句中使用not exists 代替 not in 用表连接替换EXISTS 使用带有前导字段的like来替换substr函数 考虑使用union all代替多个or连接操作 如果经常执行主细表的联合查询,建立外键索引 考虑使用非唯一索引支持...

    微软内部资料-SQL性能优化2

    and page faults are not allowed at this level or above, most device drivers use non-paged pool to assure that they do not incur a page fault. Represented by Memory: Pool Nonpaged Bytes, typically ...

    微软内部资料-SQL性能优化3

    An intent lock indicates that SQL Server wants to acquire a shared (S) lock or exclusive (X) lock on some of the resources lower down in the hierarchy. For example, a shared intent lock placed at the ...

    SQL优化通用类/特殊字符过滤/优化查询排序/异常记录

    SQL/SqlParameter特殊字符过滤/优化查询排序/异常记录row_number()over(order by {1})as row 排序 not in 排序 SQL查询、更新、插入、分页排序,存储过程调用

    微软内部资料-SQL性能优化5

    In a nonclustered index, the leaf level contains each index key, plus a bookmark that tells SQL Server where to find the data row corresponding to the key in the index. A bookmark can take one of two ...

    MySql数据库优化之SQL和索引的优化

    索引的优化是面试中数据库部分可以说是必问的...2.2 没有使用联合索引的第一列,not in,!=,使用MySQL函数,类型转换,or等都无法用到索引。 3 SQL和索引的优化 3.1 慢查询日志 3.2 查磁盘的I/O读写的数据量 3.3 sh

    sqlserver not in 语句使程充崩溃

    以前一直以为优化在百万级的表中才会有意义,这次的事件改变了我的看法

Global site tag (gtag.js) - Google Analytics