把返回大结果集的问题彻底搞定吧!

bianyaqi 2003-07-27 11:23:17
大结果集的返回问题,坛子里经常有呀。建议大家来给大讨论,把它彻底解决掉!
我见到的帖子有:
数据库不是太大的时候:
declare @SQLStr varchar(8000)
set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast(@每页大小*@第几页 as varchar)+' 主键列 from 表 )'
exec(@SQLStr)

利用datagrid的分页功能!

数据库较大的时候:
使用临时表,先取出一个id,在关联不同页的输出。

还有好的方法吗。

...全文
45 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cl_03 2003-07-27
  • 打赏
  • 举报
回复
同意用存储过程写分页。

houjianxun 2003-07-27
  • 打赏
  • 举报
回复
用存储过程写分页只取每页需要的几条记录很快,但不像楼主那样写

我的4万多条记录第一次只用了1秒多点,第二次就不到1秒,越来会越快。。。

至今还不知道有比这更快的方法,如果有的话学习一下ing...
loulanlouzhu 2003-07-27
  • 打赏
  • 举报
回复
增加网络带宽!
树猫 2003-07-27
  • 打赏
  • 举报
回复
生成临时 Xml 文件 保存数据
NoFile 2003-07-27
  • 打赏
  • 举报
回复
在原数据表建好索引和主键,
然后在存储过程中先创建一个临时表,将符合条件的记录写入这个临时表(表中的字段应是原表的主键)
然后从原表筛选与临时表匹配的记录就可以了。
这是目前对于大表最好的解决方案了
skylineforever 2003-07-27
  • 打赏
  • 举报
回复
to houjianxun(三千弱水,独取一瓢清泉) 既然效率高,那就贴出来大家看看啊!
bianyaqi 2003-07-27
  • 打赏
  • 举报
回复
楼上的几位!说的详细一点呀。
houjianxun(三千弱水,独取一瓢清泉) :要如何写呀!
greystar 2003-07-27
  • 打赏
  • 举报
回复
存储过程

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧