首先在ID上创建聚集索引是必须的。
如果ID是连续的,楼上的的用id来限定语句范围是很快的。
如果id不是连续的,楼主的语句使用了not in,一般禅扮含这样效率是很低的。
可以把语句改成
select top M *
from table
where id> (select max(id) from (select top N id from table order by id) a)
order by id
这样缺睁可以一定程度上提高一些性能。
比如我的表中有300多贺笑万条记录,使用楼主的语句执行时间需要9秒多,而用我的语句3秒多。
如何在PB中写咐喊槐sql语句衡友查询数渗缺据
select a1.U,a1.L1,a2.L2,a3.L3 from a1 left join a2 on a1.U=a2.U left join a3 on a1.U=a3.U