打开数据库效率问题

hhhh63 2011-11-27 01:57:26
做一个论坛,用户较多,如果每个用户登录都执行一次打开数据库,耗时较长。
是不是可以把数据库一直开着,每次用户登录时直接读取数据就行了?

请高手指点!
...全文
118 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhhh63 2014-05-04
  • 打赏
  • 举报
回复
今天无意中看到三年前的这个帖子,确实分给错了,6楼8楼说的对,不好意思,以后有机会补上。
肖无疾 2011-11-27
  • 打赏
  • 举报
回复
分给错了哦,你的问题确实是6楼说的连接池问题
你的关闭操作并未关闭物理连接
hhhh63 2011-11-27
  • 打赏
  • 举报
回复
写了一段代码,连接1w次,实测了一下

        protected void Page_Load(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
for (int i = 0; i < 10000; i++)
{
System.Configuration.ConnectionStringSettings s = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"];
System.Data.SqlClient.SqlConnection myConn = new System.Data.SqlClient.SqlConnection();
myConn.ConnectionString = s.ConnectionString;
myConn.Open();
myConn.Close();
}
DateTime dt1 = DateTime.Now;
TimeSpan ts = dt1 - dt;
Response.Write(ts.TotalMilliseconds.ToString());
}


在本地大约2.5秒,服务器上0.3秒左右,我的担心是多余,谢谢大家。结贴
dalmeeme 2011-11-27
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
打开?

如果只是“打开、关闭、打开、关闭”,一秒钟执行几万次毫不困难。你担心什么?
ximenwuji 2011-11-27
  • 打赏
  • 举报
回复
打开数据库的方式很多
最快的是就是非嵌入式sql中的database DB
这种打开方式一般有数据库厂商提供里拦截借口,另一种就是常厂提供的ODBC接口和嵌入式sql了
这种方式一般效率要低很多。但为了支持广泛的开发语言而提供的。
-晴天 2011-11-27
  • 打赏
  • 举报
回复
何为"打开数据库"?
只有打开数据库连接.但实际上,只有当用户程序需要连接数据库时才先创建数据连接,用完后一般要立即关闭的.更重要的是,建立数据库连接并不怎么花时间,花时间的是对数据的操作,特别是采用复杂的语句进行的操作.
dalmeeme 2011-11-27
  • 打赏
  • 举报
回复
没问题啊,建议用Cookie,保存用户登录状态,用户访问时读取Cookie判断是否需要登录,快多了。
Lxpd 2011-11-27
  • 打赏
  • 举报
回复
应该用缓存,把用户存到内存里,,

62,072

社区成员

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

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

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

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