多条记录筛选多条记录 用什么方式做效果最好呢?
本帖最后由 henjiandan 于 2013-06-23 01:57:19 编辑 A表
ID
1
2
3
4
B表(大数据 百万条记录)
列Name
2 456
4 789
条件是 要查出 A表不包含 (B表 包含'456,789'的) ID
得到
1
3
原来用的 in 来做
select ID from A where ID not in(select ID from B where B.Name in ('456','789'))
效率极低,
在线请教高人指点..
[解决办法]
条件多那也得列举啊,大表扫描,理想效果是一次,看场景,然后通过索引等加速。
AND ( NAME = '456' OR NAME ='789')
和
AND NAME in('456','789')
没区别吧?
select ID from A
except
select ID from B where B.Name in ('456','789')