通过DataReader或分页存储过程实现分页查询

解决方案 »

  1.   

    给你点建议: 
    1. 如果这个查询与其他的表的查询有关系的话,最好先根据条件做表的合并再做查询,那样可以减小查询表的大小; 
    2. 如果数据还是很多,那么看看能否在查询条件上下功夫,把条件分析一下:比如说select A from table_name where type="xx",看看xx是否在type中有一定的规律,如:xx全是大于1000的数字.则可以对table_name先search 出type大于1000的值,那么现在再用这个表的数据去search"xx"; 
    3. 如果前面两种方法都不适用,那么就得注意数据在往数据库中插入得过程了,首先:在插入之前就应该知道将来会做高频率search或者海量数据search的具体search条件,比如说这里的type = "xx",我们在插入的时候就可以先对数据按一定的顺序插入. 以便将来search能减小search的数据量. 总之:大多数据库的查询优化都是那么几点,优化条件,减小查询表,减少查询次数,你从这几个方面考虑下吧. 
    我以前也是这么回答一个人的优化数据库问题的。
    希望对您有帮助.
      

  2.   

    首选分页。
    如果不让分页,考虑用DataReader单向只读显示。
    再就是不做显示和处理的字段就不要取出来了。
      

  3.   

    使用dataAdapter的分页查询功能,分页查询提高性能
    DataAdapter.fill(dataset,start,100,);
      

  4.   

    综合上述:
    1.有没有必要显示100W条,赞成分页显示;
    2.尽可能的用存储过程,并且在语句中多写一些过滤条件(where条件),显示的列尽量少(不要写select * from T )