请问数万条数据读取很慢怎么解决?

时间:2021-07-07 23:31:41
请问数万条数据读取很慢怎么解决?用的是MS-SQL2000,读取后再分页或者搜索就不慢了,就是第一次读取时很慢,请问有没有好的解决办法,前提是不想用“存储过程”

我目前的写法大致如下:
  SqlDataAdapter adp = new SqlDataAdapter(sqlstr2, con);
  DataSet ds = new DataSet();
  adp.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "fan_ck");
  Repeater1.DataSource = ds.Tables["fan_ck"];
  Repeater1.DataBind();
  ds.Dispose();
  adp.Dispose();

17 个解决方案

#1


不用存储过程,那就只能慢.要不就把机器配置得更好一些吧.

#2


分页取数据,只取需要的。

#3


帮顶~~~~~~~~~

#4


存储过程,或者  查询时只取需要的字段!! 建索引!

#5


  不用 存储过程 那你就是在 UI 上 进行分页 你说一次取10条快些  还是一次取 1w 条快些
  不用存储过程 是快不起来的 

#6


你这样肯定慢吗?用存储过程吧

#7


我记得以前写程序,也遇到这种情况,不用存储过程,也是快起来的,以前读取的是10万条信息,起码要50秒钟,改了程序后,2秒钟就读出来了。 

#8


优化下SQL语句  第一次读取  是要缓存的  第二次估计会快

#9


确实!用存储过程吧!不然快不起来!

#10


存储过程,好办法

#11


我也是这个观点
先从sql上下功夫,优化一下,能不去的字段就不取
然后就是分页吧,我一般做分页,反应都还可以

#12


存储过程,表分区。

#13


存储过程吧 呵呵 要不就用硬件来换取它的速度吧

#14


把数万笔资料全部从数据库读取到服务器内存,想不慢都不行.

取所需吧,一次取10条之类的.没有任何用户想一次性在界面上查看数万笔资料的.

#15


存储过程分页,你用的是dataset自带的分页,先将数据一次性读出来放入dataset中(内存中,内存不足会存入缓存),然后再分页,所以第一次会慢。

#16


用存储过程可以省一半的时间

#17


我就是不想用存储过程啊,难道就没有办法吗,不过几万条数据

#1


不用存储过程,那就只能慢.要不就把机器配置得更好一些吧.

#2


分页取数据,只取需要的。

#3


帮顶~~~~~~~~~

#4


存储过程,或者  查询时只取需要的字段!! 建索引!

#5


  不用 存储过程 那你就是在 UI 上 进行分页 你说一次取10条快些  还是一次取 1w 条快些
  不用存储过程 是快不起来的 

#6


你这样肯定慢吗?用存储过程吧

#7


我记得以前写程序,也遇到这种情况,不用存储过程,也是快起来的,以前读取的是10万条信息,起码要50秒钟,改了程序后,2秒钟就读出来了。 

#8


优化下SQL语句  第一次读取  是要缓存的  第二次估计会快

#9


确实!用存储过程吧!不然快不起来!

#10


存储过程,好办法

#11


我也是这个观点
先从sql上下功夫,优化一下,能不去的字段就不取
然后就是分页吧,我一般做分页,反应都还可以

#12


存储过程,表分区。

#13


存储过程吧 呵呵 要不就用硬件来换取它的速度吧

#14


把数万笔资料全部从数据库读取到服务器内存,想不慢都不行.

取所需吧,一次取10条之类的.没有任何用户想一次性在界面上查看数万笔资料的.

#15


存储过程分页,你用的是dataset自带的分页,先将数据一次性读出来放入dataset中(内存中,内存不足会存入缓存),然后再分页,所以第一次会慢。

#16


用存储过程可以省一半的时间

#17


我就是不想用存储过程啊,难道就没有办法吗,不过几万条数据