查询优化。没有NOT IN的查询

维多利亚B

我有一个带有ID和代码条目的表。代码是唯一的,但id是主键。

ID Code 
1 ABC1234T
2 ABC6789Y
3 ABC9999A
4 QAZ1234G
5 QAZ6574U
6 QAZ9999A
7 TRE1234Y
8 REW1234U

我需要查找没有* 999A条目的前缀(前3个字母)。在给定的示例中,它将是TRE和REW。我的查询很慢,需要大约17秒钟才能运行约9000条记录。我了解这主要是因为我正在使用NOT IN和子查询。谁能给我一些如何优化它的想法?

SELECT distinct LEFT(newcode, 3) as codeprefix FROM diatcode where (LEFT(newcode, 3)) NOT in (select DISTINCT LEFT(newcode, 3) from diatcode where newcode like '___9999A' ) order by newcode
lp_

您可以进行左连接,然后根据空值进行过滤。它避免了子查询,但是我不确定这是最快的解决方案。

SELECT DISTINCT LEFT(d1.newcode, 3) as codeprefix
FROM diatcode d1
LEFT JOIN (SELECT DISTINCT LEFT(d2.newcode, 3) as codeprefix
  FROM diatcode d2
  WHERE d2.newcode LIKE '___9999A') t2
ON LEFT(d1.newcode, 3)=t2.codeprefix
WHERE t2.codeprefix IS NULL;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有子查询的SQL查询优化

来自分类Dev

查询优化?

来自分类Dev

优化查询

来自分类Dev

优化查询

来自分类Dev

查询优化?

来自分类Dev

elasticsearch“没有”查询

来自分类Dev

有没有更好,更优化的方法来执行此SQL查询?

来自分类Dev

有没有一种方法可以优化此查询

来自分类Dev

有没有一种方法可以优化此Gremlin查询?

来自分类Dev

查询需要太多时间,有没有优化的方法?

来自分类Dev

有没有办法优化这个 mysql 查询(更新、多个连接)?

来自分类Dev

有没有更好的方法来优化这个 Firestore 查询?

来自分类Dev

有没有办法优化这个涉及解压json的查询?

来自分类Dev

结合查询进行查询优化

来自分类Dev

组连续查询的查询优化

来自分类Dev

使用内部查询优化查询

来自分类Dev

SQL查询优化删除查询

来自分类Dev

sql中子查询的优化查询

来自分类Dev

具有子查询优化功能的MySQL查询

来自分类Dev

SQL查询寻找具有索引的复杂查询的优化

来自分类Dev

如何使用带有子查询的join优化查询?

来自分类Dev

SQL查询寻找具有索引的复杂查询的优化

来自分类Dev

Sybase ASE:优化具有多个子查询的查询

来自分类Dev

我如何在没有任何联接的情况下优化大型MySQL表中的查询?

来自分类Dev

SQL查询优化-真的没有什么要改进的了吗?

来自分类Dev

优化仅与没有查询字符串的完整网址匹配的正则表达式

来自分类Dev

具有UNION优化的SQL查询

来自分类Dev

具有游标优化的SQL查询

来自分类Dev

有什么方法可以优化SPARQL查询?