有关速度问题请教

daosh 2003-11-02 04:31:13
请问采用存储过程的分页时,其查询速度跟采用datagrid自带的分页功能(即select出所有符合条件的数据然后显示),两者的速度谁快?(特指查询,当然查询加显示都说说最好)
就我的感觉(我没用过存储过程分页),存储过程里面起码有两个嵌套的select top,而ms sql server帮助中说:
如果一个 SELECT 语句既包含 TOP 又包含 ORDER BY 子句,那么返回的行将会从排序后的结果集中选择。整个结果集按照指定的顺序建立并且返回排好序的结果集的前 n 行。
这不是比选出所有符合条件的记录还要慢嘛?
我真想知道为什么baidu能搜出成百上千万的纪录竟仍能保持搜索时间在几十毫秒之内
...全文
59 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
stpangpang 2003-11-02
  • 打赏
  • 举报
回复
我一般使用set rowcount 而不用top~
存储过程比一般的快(特指查询)
在分页的存储过程中,可以用table变量(SQL Server 2000),table变量是存储在内存中的
如果你的服务器内存不多的话,可以考虑用临时表,临时表使用硬盘存储结果,
临时表需要手工释放对象,而table变量在存储过程结束后自动释放。
当然还包括一些算法
Abac 2003-11-02
  • 打赏
  • 举报
回复
你可以了解一下全文检索的原理。
搜索引擎都用了最佳选择的全文检索,排在前面的都是从最佳选择的数据库里选出来的,这样匹配度高,速度也快。

至于你说的问题,我觉得是差不多的。
loulanlouzhu 2003-11-02
  • 打赏
  • 举报
回复
你用datagrid不也要select选出合适的记录吗!?

62,243

社区成员

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

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

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

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