如何在PB中调用一个动态的查询条件插入数据
1个回答
展开全部
首先在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秒多。
如果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秒多。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询