sql查询,not in 过滤条件太多,查询效率低怎么办?

时间:2025-03-19 09:31:04
场景:
一个信息表,有1000万条数据,字段包括,ID、标题、内容、浏览次数;
一个用户表,里面有 A B C 三个用户 其中 A用户浏览过 500万条信息;B用户浏览过200万;C用户浏览过700万;
一个用户浏览记录表, 存放A 浏览过的记录
现在要做个分页,查询浏览次数大于 100 并且 A 未浏览过的 信息
SQL 怎么写才高效?
常规写法:
select * from  信息表 where 浏览次数>100 and ID not in (xx,xx1,xx2...xx500万);