mysql的in和exists比较

数量级:

表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

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭