gpt4 book ai didi

sql - 是否可以重写 NOT IN 查询以使用索引?

转载 作者:IT王子 更新时间:2023-10-29 06:31:54 25 4
gpt4 key购买 nike

Sqlite does not support the use of indexes in queries based around a NOT IN clause .

是否可以在逻辑上重写如下所示的查询,使其仅使用上面链接中列出的运算符?

查询:

Select *
From table
Where table-column not in (
Select table-column
From table2);

列为能够使用索引的运算符:

  • 列 = 表达式
  • 列>表达
  • 列 >= 表达式
  • 列<表达式
  • 列 <= 表达式
  • 表达式=列
  • 表达式>列
  • 表达式>=列
  • 表达式<列
  • 表达式<=列
  • 列 IN(表达式列表)
  • IN 列(子查询)
  • 列为空

最佳答案

使用 LEFT JOIN as described in section 6 .

带有示例数据的 SQLFiddle here .展开查看执行计划以确认原始查询执行表扫描,而 LEFT JOIN 查询使用索引。

关于sql - 是否可以重写 NOT IN 查询以使用索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com