`

not in 优化

阅读更多

总记录:

number_balance   8000

no_attribution   4000

business_products_num  50000

关系:

number_balance  1-1 no_attribution ;

number_balance   1:n business_products_num  

 

 

NOT IN 查询  28s

SELECT * FROM number_balance  n WHERE n.`status` = 1  AND number_id 

NOT  IN (SELECT number_id  FROM no_attribution   UNION SELECT number_id  FROM business_products_num  )

 

两个 NOT  EXISTS 查询  22s

SELECT * FROM number_balance  n WHERE n.`status` = 1  AND 

NOT  EXISTS (SELECT 1  FROM no_attribution noa WHERE n.`number_id` = noa.number_id )

AND  NOT EXISTS (SELECT 1  FROM business_products_num nob WHERE n.`number_id` = nob.number_id)

 

1个 NOT  EXISTS 查询  <1s

 SELECT * FROM number_balance  n WHERE  n.status = 1    AND NOT  EXISTS (SELECT 1 FROM ( SELECT number_id FROM no_attribution UNION SELECT number_id FROM business_products_num) 

 AS haved WHERE n.`number_id` = haved.number_id)

分享到:
评论

相关推荐

    MySql如何使用not in实现优化

    本文将探讨如何通过优化 `NOT IN` 查询来提高 MySQL 的执行效率。 原始的 SQL 查询如下: ```sql SELECT s.SORT_ID, s.SORT_NAME, s.SORT_STATUS, s.SORT_LOGO_URL, s.SORT_LOGO_URL_LIGHT FROM SYS_...

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

    在处理大量数据时,尤其需要注意避免使用效率较低的操作符,如`IN`和`NOT IN`。这些操作符虽然在编写时提供了简洁和易读性,但在执行效率上往往不如其他替代方法。本文将深入探讨`IN`和`NOT IN`的替代方案,并通过...

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

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

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

    SQL语句优化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的语句 SQL语句优化是数据库性能优化的重要方面之一。在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接。在这种情况下,使用EXISTS...

    sql case when exists not exists in not in

    这两个操作符常用于优化查询性能,避免使用`IN`或`NOT IN`可能导致的全表扫描。 ```sql -- 找出有订单的客户 SELECT customer_id FROM customers WHERE EXISTS (SELECT 1 FROM orders WHERE orders.customer_id = ...

    SQL优化总结

    - 使用 LEFT JOIN 替换 IN,例如:`SELECT * FROM A WHERE id IN (SELECT id FROM B)` 可以优化为 `SELECT * FROM A LEFT JOIN B ON A.id = B.id WHERE B.id IS NOT NULL`。 #### 四、总结 以上提到的优化方法...

    经典SQL查询总结关于Exists,not Exists.in ,not in效率的说明。

    ### 经典SQL查询总结关于Exists, not Exists, IN, not IN 效率的说明 在数据库查询操作中,存在着多种方法来实现相似的功能,但不同的实现方式在性能上可能会有显著差异。本文将深入探讨 SQL 中 `EXISTS`, `NOT ...

    INEXISTS与NOT INNOT EXISTS 的优化原则小结

    在SQL查询优化中,`IN`、`EXISTS`、`NOT IN`和`NOT EXISTS`是四个常见的比较和过滤条件,它们在不同场景下有不同的性能表现。以下是对这些操作符优化原则的详细说明: 1. **EXISTS的执行流程**: `EXISTS` 子查询...

    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中对not in和not exist查询的替代算法.pdf

    "SQL中对not in和not exist查询的替代算法.pdf" 本文主要讨论了SQL中对not in和not exist查询的替代算法。首先,作者简要介绍了SQL语言的基本概念和特点,然后讨论了not in和not exist查询的低效性及其原因。接着,...

    mysql数据库In的优化.txt

    ### MySQL数据库In子句优化详解 #### 一、引言 在MySQL数据库的实际应用中,`IN`子句被广泛用于处理多个值的情况。当涉及到大量数据时,如何有效地使用`IN`子句成为了提高查询性能的关键。本文将详细介绍如何针对`...

    relocation does not fit in 24 bits 由来及对策

    ### Relocation Value Does Not Fit in 24 Bits:由来及对策 #### 一、问题背景与概述 在使用VxWorks系统时,用户在处理PowerPC架构下的代码时经常会遇到一个错误:“Relocation value does not fit in 24 bits”...

    深入探讨Python的not in操作符:用法、行为和示例

    Python的"not in"操作符是编程中一种高效的数据检查手段,尤其在处理集合类数据结构如列表、元组、字典和字符串时...通过以上的介绍和示例,你应该对"not in"有了更深的理解,可以在实际项目中灵活运用,优化你的代码。

    一次SQL Tuning引出来的not in , not exists 语句的N种写法2

    【描述】:文章并未直接提供描述,但从标题推测,该内容可能涉及数据库查询优化,特别是关于`not in`和`not exists`两种SQL查询子句的不同使用方式和性能比较。 【标签】:SQL优化,查询性能,数据库管理 【正文】...

    IN&amp;EXISTS与NOT IN&amp;NOT EXISTS 的优化原则小结

    - 在某些情况下,可以考虑使用外连接或`IS NULL`结合`NOT IN`来替代`NOT EXISTS`,尤其是在基于成本的优化器中,这可能带来更好的性能。 6. 总结: `IN`和`EXISTS`主要取决于哪个查询能更快地返回结果,而`NOT IN...

    SQLServer Execpt和not in 性能区别

    在某些情况下,`NOT IN`可能因为优化器的决定而表现出更好的性能。 综上所述,尽管`EXCEPT`和`NOT IN`在逻辑上等价,但它们在实际执行时的性能表现可能有很大差异。在处理大规模数据时,`EXCEPT`通常会提供更好的...

    MySQL中的in,exists,not in,not exists查询过程对比及结论

    MySQL优化之in,exists,not in,not exists的区别in与existsin查询过程结论:exists查询过程:结论:not in与not existsnot in查询过程:结论:not exists查询过程:结论: 首先我们使用两个用户表作为实例 insert ...

Global site tag (gtag.js) - Google Analytics