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

阅读更多
想对作者说点什么?

博主推荐

换一批

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