我的查询是很复杂的SQL多表连接。我已经做成视图。查询100万条数据大概要花费20秒我现在就有一个问题,如果每次分页查询的时候,都是用这个很耗时的视图,那每次都要经过20秒的查询。这样效率好像不是很高。大家有没有什么比较好的解决方案阿!

解决方案 »

  1.   

    2000用分页存储过程,05可用NTILE()函数
      

  2.   

    还有一个问题,比如
    A表 
    (
    ID,     //ID
    trade   //交易代码  其中可选 1,2
    )
    现在我要获取如下样式
    ID    代号为1交易量总量   代码为1的交易比率   代码为2的交易总量    代码为2的交易比率代码1的交易比率=代码1的交易总量/总的交易总量
    像这样的一个东西,SQL该怎么写比较高效呢。
    我写的好像不是很高效。  select a.ID ,b.tradecount ,b.tradecount/a.tradecount,c.tradecount ,c.tradecount /a.tradecount from (select id,count(trade) as tradecount from A group by id)a ,(select id,count(trade) as tradecount from A where trade=1 group by id)b, ( select id,count(trade) as tradecount from A group by id)c where a.id=b.id and a.id=c.id
      

  3.   

    SQL77 刚测试过了。
    发现行转列的效果不怎么好,统计同一个视图。用我上面的方法,才耗时9秒,用行转列以后,查询需要20秒。
      

  4.   

     你在页面放一个viewstate用来存储你查询的结果, 用cache也行, 判断只要是条件没有改变就用你临时存的。 如果条件更改就重新查询,重新保存到cache