2.表没有什么索引,这个其实倒是无所谓的
3.何查询语句都可能查出来2条或以上记录,其实就是条件1的升级版。。。。
4.不能变更原有的表设计,如果想新建表并且导数据的必须要做到100%的数据实时同步,并且不能影响原有的cha|||入效率
5.因为项目原因,不能使用视图
要求存储过程可以做到,传入一个sql查询语句(可能是一个多表关联的查询),每页显示条数,查询页号,返回当页信息,总条数,总页数(第一个是必须要的,后面2个如果不方便就算了),要求执行时间小于10秒,数据量很小,大概是100W条的数据中查询(有关联查询的笛卡尔积结果条数不大于1KW)。
7 个解决方案
#1
mission is impossible
#2
这个有点难度,一时想不出什么好办法来。
#3
select top 每页显示条数 * from tbl as t
where not exist
(
select 1 from
(
select top (每页显示条数*页号) * from tbl) as a
where a.字段1 =t.字段1 and a.字段2 =t.字段2
and a.字段3 =t.字段3 and a.字段4 =t.字段4
and ......
)
)
將传入的SQL语句替代 tbl 表
#4
是 not exists
#5
他的表没有 PK,重复的数据多,使用 not exists 不大好用。
#6
主要是。。。。2000, 好多好的方法都没法用啊。。。。
#7
这么长时间都没有好的方案,看来只能用3楼的方法了,虽然一张100W不到的数据用了20多秒。。。。看来只好用程序里的缓存之类的来提速了
#1
mission is impossible
#2
这个有点难度,一时想不出什么好办法来。
#3
select top 每页显示条数 * from tbl as t
where not exist
(
select 1 from
(
select top (每页显示条数*页号) * from tbl) as a
where a.字段1 =t.字段1 and a.字段2 =t.字段2
and a.字段3 =t.字段3 and a.字段4 =t.字段4
and ......
)
)
將传入的SQL语句替代 tbl 表
#4
是 not exists
#5
他的表没有 PK,重复的数据多,使用 not exists 不大好用。
#6
主要是。。。。2000, 好多好的方法都没法用啊。。。。
#7
这么长时间都没有好的方案,看来只能用3楼的方法了,虽然一张100W不到的数据用了20多秒。。。。看来只好用程序里的缓存之类的来提速了