mysql的in和exists比较

原创 2018年04月17日 14:24:29

数量级:

表A:4万+

表B:5千+

SELECT
	count(*)
FROM
	A a
WHERE
	EXISTS (
		SELECT
			1
		FROM
			B b
		WHERE
			b.a_id = a.id
	);

查询耗时:100s

SELECT
	count(*)
FROM
	A a
WHERE
	a.id IN (
		SELECT
			b.a_id
		FROM
			B b
	);

查询耗时:0.18s

mysql查询时子查询的表的数量级较大时建议使用exists,较小时建议使用in

在sql语句多表连接中,in、exists、join那个效率更高一点

EXISTS、IN与JOIN,都可以用来实现形如“查询A表中在(或不在)B表中的记录”的查询逻辑。 在查询的两个表大小相当的情况下,3种查询方式的执行时间通常是: EXISTS E...
  • danfly1010
  • danfly1010
  • 2015-05-19 09:35:06
  • 5884

MySQL EXISTS /NOT EXISTS

原文地址:http://blog.csdn.net/qsyzb/article/details/12523051 参考文章 :  http://www.cnblogs.com/rainwang/p/...
  • u010003835
  • u010003835
  • 2017-05-11 14:21:48
  • 866

Mysql Exists 和Not Exists用法

这里着重介绍Not Exists(Exists用法类似),Not Exists 不存在 用法:Select  * from TableA  a  where Not Exists (Select *...
  • suo082407128
  • suo082407128
  • 2015-10-20 16:16:57
  • 9757

MySQL中子查询IN,EXISTS,ANY,ALL,SOME,UNION介绍

转自:http://www.cnblogs.com/blueoverflow/archive/2015/08/08/4712320.html 阅读目录(Content) 1.ANY关键字2.ALL关...
  • Mary19920410
  • Mary19920410
  • 2017-08-01 22:10:38
  • 1103

MySQL NOT EXISTS优化的一个案例

原始语句:SELECT * FROM dcf_account.t_posting_transaction t1 WHERE NOT EXISTS ( ...
  • zyz511919766
  • zyz511919766
  • 2015-10-22 16:48:27
  • 9001

Mysql中EXISTS关键字用法、总结

在做教务系统的时候,一个学生(alumni_info)有多个教育经历(alumni_education),使用的数据库是mysql,之前使用左链接查询的,发现数据量才只有几万条时,查询就很慢了,早上想...
  • gucapg
  • gucapg
  • 2013-11-20 10:44:17
  • 7324

mysql的left jion改写not in或not exists

需求:查询数据库gip_demo比数据库epmp多的表和字段: 1.优先考虑使用not exist: SELECT a.table_name, a.column_name FROM ...
  • lihengfang
  • lihengfang
  • 2017-09-01 17:46:59
  • 708

mysql中if not exists的使用

示例一:插入多条记录 INSERT INTO clients (client_id, client_name, client_type) SELECT supplier_id, suppl...
  • u012686173
  • u012686173
  • 2014-10-21 21:29:25
  • 2405

MySQL - exists与in的用法

【1】exists对外表用loop逐条查询,每次查询都会查看exists的条件语句。当 exists里的条件语句能够返回记录行时(无论记录行是多少,只要能返回),条件就为真 , 返回当前loop到的这...
  • J080624
  • J080624
  • 2017-06-08 10:07:17
  • 1253

mysql使用exists进行查询

参考:http://blog.csdn.net/gucapg/article/details/16839587   1、exists的返回结果是bool型,只有true或者false 如...
  • ljxbbss
  • ljxbbss
  • 2017-10-13 15:58:32
  • 3782
收藏助手
不良信息举报
您举报文章:mysql的in和exists比较
举报原因:
原因补充:

(最多只允许输入30个字)