我只能查询表,其余操作都不能,表结构不能动,索引又6个我是在。net里读取数据 显示到gridview上,每页100条无原始垃圾sql,就没有,说白了就是30个字段,然后任意4个条件组合查询,然后把数据绑定到gridview上,每页一百条
查询速度不能超过30分钟我只是个小鸟,数据对于我来说就很多了。谢谢回答的每个人。网上有rownum做,我看了下,条件组合查询的时候感觉速度还是不行,求达人给个查询的sql语句

解决方案 »

  1.   

    分页的方案虽然有多种,但是在效率上并没有太大的区别,也就是说你想找到比rownum分页方式的效率更优的方案是不存在的。
      

  2.   

    插叙速度取决于你的四个条件使用索引的情况,与rownum 没什么太大的关系,你可以试试下面的查询方法select *
      from( select t.*,
                   row_number()over(order by 排序字段) row_
              from t
             where 查询条件的组合)
     where row_ >= 100 * (n-1)
       and row_ <  100 * n;--n是分页数
      

  3.   

    不能超过30分钟还不能满足吗?
    SELECT * FROM more_employees;
    select *
      from( select more_employees.*,
                   row_number()over(order by employee_id) row_
              from more_employees
             )
     where row_ > 5 * (n-1)
       and row_ <=  5 * n;
      

  4.   

    row_number()over 是MSSQL里面的语法。他问的是Oracle
    select * from (select *,rownum hs from table ) a where a.hs between start and end你试下这个。。
      

  5.   

    oracle必然可以用row_number() over()
      

  6.   

    兄弟你out了,没用过的版本不敢说,用过的oracle9i 就支持,而MSSQL是从2005开始支持的,抄袭的嫌疑很重。