mysql使用总结:
一:EXISTS 和 IN 的查询效率问题
1:当a表的数据大于(a > b)b表中的数据时 用 IN > EXISTS 的效率。
SELECT
*
FROM a
WHERE id IN (
SELECT id FROM b
)
2:当a表的数据小于 ( a < b ) b表中的数据时 用 EXISTS > IN 的效率。
SELECT
*
FROM a
WHERE EXISTS(
SELECT 1 FROM b WHERE a.xx = b.xx
)
3: 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用.
Not Exist用到子表中的索引进行查询,所以无论两个表中哪个表大,Not exists 都要比Not in 要快。