sql语句为什么要查出10000条?
用top 20 *
每次查询出前20条显示。

解决方案 »

  1.   

    你要是想把所有的记录都读出来可以用DataSet
    你要是想读出来后在结果集中查找你所需要的内容可以在SQL语句中加上判断条件,使用出来的内容就是你想要的,而不要再次做查找的动作
    你要是相关的地方没有索引可以加上索引
      

  2.   

    尽量优化你sql语句,能建索引的建索引,多加条件,可以考虑用分页。
      

  3.   

    同意sunxiaoli(秦朝),maotin(liu) 的观点,为什么要返回给客户端这么多数据呢,有必要吗,其实也可以采用分页分段的方式进行传输啊?要输出1万条数据,这是客户关心的有效数据吗?建议:
    在业务逻辑层进行控制传输给客户端的数据
    要有效的建立索引
    优化你的条件查询
      

  4.   

    如果要取这么多的数据,慢也没有办法。只能优化你的SQL语句,尽量用存储过程
      

  5.   

    1.不要在查询语句中过多的使用表连接,因此而带来的问题是
      你在设计表时应放底表范式;
    2.不要与触发器连接;
    3.先将你的sql语句进行性能测试;
    4.最好把你的sql语句写出来让大家见识见识。
      

  6.   

    同意楼上,还有一个办法,ADO中有一个过滤器,可以进行条件过滤检索。
      

  7.   

    我也遇到类似的一个问题,程序段跟xinc类似,我处理的是一个银行账务系统,有两个表,需要区别出两个表中相同的记录项和不同的记录项。所以我需要用dataReader一个一个的取出表1的记录项,然后跟表2中的数据项进行对比。数据项也超过了1万,我是用DataReader还是DataSet效率会更高一些呢?