大家好,我刚开始学做网页,有一个问题不明白了。我在自己尝试做一个新闻系统,我想知道在新闻首页显示新闻的时候,不同类别板块(比如国际、国内新闻,社会、教育等等)显示的列表是否都要分别连接一次数据库。
比如我有100个分类,我是连接100次数据库来得到?还是1次连接取出所有需要的数据再分类?如果1次读取了这么才能在表现层分类呢。
这样会不会对数据库性能有很大影响,是否有办法一次连接在显示的时候按类别显示
,一般网站怎么处理这个问题。
我在一本英文的asp.net电子书上看到作者说“数据库连接就像炸弹,迫不得已才拿起来,然后赶紧关闭丢出去”,虽然夸张了一点,但是我觉得很有意思。
比如我有100个分类,我是连接100次数据库来得到?还是1次连接取出所有需要的数据再分类?如果1次读取了这么才能在表现层分类呢。
这样会不会对数据库性能有很大影响,是否有办法一次连接在显示的时候按类别显示
,一般网站怎么处理这个问题。
我在一本英文的asp.net电子书上看到作者说“数据库连接就像炸弹,迫不得已才拿起来,然后赶紧关闭丢出去”,虽然夸张了一点,但是我觉得很有意思。
解决方案 »
- MSSQL2005如何用SQL语句实现复制本地的表或整个数据库的数据到远程服务器
- 关于webservice的疑问
- js 如何读取虚拟目录下的所有 图片
- 能否让页面自动刷新?
- 太奇怪~太奇怪了~asp.net页面生成问题!急啊~~~~~
- 关于Repeater嵌套的问题
- 大家上几天班?
- 请教,这种新闻发布后,显示格式是怎么实现,如附件。
- 在asp.net页面后台代码中如何使用timer控件
- 高分救命!!! 巨难的问题: 哪位大哥做过二级域名方面的程式开发, 能否提供一些链接或资料, 或讲一下他的实现原理. 非常感谢!!!
- 关于Formview控件数据修改后控件变形的问题,在线等!!!
- 诚聘:ASP.Net 软件工程师
第二个问题,不用担心频繁连接的问题,对.net程序而言,默认为允许连接池,当然也可以在SQLConnection对象的连接字符串中加入"Pooling = true"确保程序允许连接池的使用。
也许你还不明白什么是连接池,数据库的连接池允许程序从中获得一个连接并使用这个连接,而不需要为每一个连接请求重新创建数据库连接。当应用程序使用完连接后,改连接被归还给连接池而不是直接释放。这样性能就大大提高了。
这里必须强调一点,连接对象使用完毕后应当调用Close或Dispose方法将其显示的关闭并返回给连接池,而不是依靠垃圾收集器来释放连接。
呵呵,写的累死了,我的CSDN第一帖就献给你了。
我现在是将所有内容放在一个表中,然后根据一个CatID字段来判断分类,然后每个分类都分别Conn.Open, 存储过程中Select * from Table where CatId=XX, 后 Conn.Close 。我觉得如果分类太多的话这样太占用连接资源了,所以来问问各位高手的意见。
总之多谢大家鼎立相助。