关于数据库查询效率的问题

xmily2005 2008-03-14 12:49:31
有一个C#编写的asp.net的后台程序,程序的作用就是读取数据库中的数据,然后生成静态页面。
程序中我是这样写的,每读一条记录就开启一次A表和B表,然后把A和B表中的数据处理一下写入一个文件并保存在硬盘上。现在我要通过循环的方式来读取100条记录,也就是说我要访问数据库100次,开启表的次数是200次。程序在实际运行中经常会出现超时,造成页面无法访问的现象,而且其它ASPX页面也会一同无响应。
请问各位:
这样写对不对?这样写效率是不是很低?
正确的写法应该是怎么样的呢?
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqhmitzk 2008-03-14
  • 打赏
  • 举报
回复
考虑下用缓存技术(cache)
pt1314917 2008-03-14
  • 打赏
  • 举报
回复
为什么不一次性把要用的数据都取出来,存在一个DataTable中,处理的时候直接对这个DataTable进行处理?
xmily2005 2008-03-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lhsxsh 的回复:]
你可以一次读出来放在DS中
再处理
[/Quote]

我知道,我是想知道,我这读取方式,是不是效率非常非常低,低到会超时的地步。
lhsxsh 2008-03-14
  • 打赏
  • 举报
回复
你可以一次读出来放在DS中
再处理
xmily2005 2008-03-14
  • 打赏
  • 举报
回复
用cache的话好像没有什么必要,因为我访问的次数不是很频繁(我是指执行一次这种生成静态页的次数)
xmily2005 2008-03-14
  • 打赏
  • 举报
回复
谢谢两位的回复。我也考虑过一次读出来再操作,但又牵扯到一些其它代码。
我是想知道,我这样频繁的开关数据库和表,是不是效率很底,如果肯定是效率底的话,那么对只有100条记录的表来说,这种操作会不会造成访问时。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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