如何使用子查询优化“ WHERE NOT IN”

makallio85

我有此查询在此线程中的讨论输出是什么:Mysql JOIN子查询

请参阅当前的提琴:http ://sqlfiddle.com/#!2/ e97cf/22

create table c_contact 
(id INT, 
 name VARCHAR(20), 
 securityid INT
);

create table c_monitoring 
(started DATE, 
 ended DATE DEFAULT NULL, 
 securityid INT
);


SELECT
  c_contact.id,
  c_contact.name,
  c_contact.securityid
FROM c_contact
WHERE c_contact.securityid != ''
  AND c_contact.securityid NOT IN
      (select securityid 
       from c_monitoring 
       where ended is null 
       group by securityid
      )
GROUP BY c_contact.id ;

我将如何优化此查询?我在c_contact表中有100.000条记录,在c_monitoring表中有10.000条记录。查询耗时30秒,包含127条结果行。

编辑:案例已通过正确索引表解决。

波希米亚风格

您的查询存在一些分组问题(实际上,您不应有任何分组依据子句),应将其转换为联接:

SELECT
  c.id,
  c.name,
  c.securityid
FROM c_contact c
LEFT JOIN c_monitoring m ON m.securityid = c.securityid
  AND m.ended is null
WHERE c.securityid != ''
AND m.securityid IS NULL

参见SQLFiddle

我还使用别名对查询进行了一些整理。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL优化使用WHERE子句的子查询?

来自分类Dev

使用WHERE子句中的子查询的Google BigQuery优化

来自分类Dev

如何使用where子句中的max优化Oracle中的查询

来自分类Dev

如何优化SQL Server查询的where子句

来自分类Dev

使用Avg的where子查询

来自分类Dev

如何在openquery where子句中使用子查询

来自分类Dev

如何使用where条件的许多组合来优化MySQL查询?

来自分类Dev

如何使用 Eloquent / Laravel 执行此查询:使用 GROUP BY 子查询 WHERE IN

来自分类Dev

如何通过where子句中的计算优化sql查询速度

来自分类Dev

在WHERE CLAUSE中使用子查询的结果

来自分类Dev

使用条件子查询的Postgresql WHERE子句

来自分类Dev

使用where条件的SQL子查询

来自分类Dev

使用WHERE子句中的and或and结构优化SQL查询

来自分类Dev

如何在子查询的WHERE中使用主查询中的字段

来自分类Dev

使用WHERE查询/包含多个记录的子查询

来自分类Dev

在where语句中使用子查询进行查询

来自分类Dev

如何在MySQL的WHERE子句中使用子查询表别名

来自分类Dev

如何编写 sql 查询,其中 WHERE 子句使用转换为 long 的子字符串?

来自分类Dev

在左联接中使用子查询时如何优化查询

来自分类Dev

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

来自分类Dev

简单查询优化(WHERE + ORDER + LIMIT)

来自分类Dev

优化MySQL中的where子句查询

来自分类Dev

努力优化Rails WHERE NOT IN的Rails查询

来自分类Dev

WHERE 子句上的 MySQL 查询优化

来自分类Dev

MySQL查询case语句在where优化中

来自分类Dev

子查询,该子查询在where caluse中使用外部查询的值

来自分类Dev

mysql选择Where(子查询)IN

来自分类Dev

子查询选择where子句

来自分类Dev

用$ where查询子数组

Related 相关文章

热门标签

归档