上千万条记录数,每条记录有10多个字段
问题1:数据在页面如何优雅的展现?分页2:页面点击排序,排序速度肯定比较慢,要怎么提高响应速度3:查询,数据库里多建索引,应该比较快吧。

解决方案 »

  1.   

    1) 分页,且只能分页。2) 尽量使用数据库排序,不要拿到内存里再排。3) 索引并非越多越好, 索引应该多加在 where 子句 和 order by 子句的字段上,加在 select 子句的字段上没有意义。
      

  2.   

    最好的办法是在数据库中进行一次分页后,在到内存中分一次。
    但是要把握好这个度,数据库中的分页阀值将直接影响到session的重量,而session又会影响到内存...
    这样可以避免平凡的数据库查询。至于索引,排序本身就是你考虑的东西,但不是解决这个问题的关键。
      

  3.   

    建索引
    数据库分页sql语句别用子查询
      

  4.   

    建议:1. 可以的话,创建表为分区表, 提高查询速度. 重要2. 为作为条件的字段建立索引, 为排序的字段上建立索引.  最多建5个,多了维护耗时间和资源3. 查询字段要明确. 需要什么字段查询什么字段, 不要全查, 除非需要全部显示4. 若是oracle数据库, 分页时,先查询出一部分再分页,不要全查出来再分页.
       select ... from 
       (
         select ...,rownum rn from table_name where ..... 
                and rownum < (start + limit) order by ...
       ) t
       where t.rn >= start and t.rn <= limit    重点在于 rownum < (start + limit)  这样做的话可以提高查询效率5. 大数据量最好在数据库中操作.不要在内在中操作