我只想知道我们的connectionstring字段中是否有属性或属性,以便我们可以维护与客户端的优化数据库连接。通常,I use.That只包含所需的信息。
<add name ="ConnectionString" connectionString="Data Source=118.225.221.7;Initial Catalog=mycatalogue;
User Id=dba; password=some_password"/>
另一种情况下,我们也可以增强用于MARS和异步操作的连接字符串:
MARS
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
MultipleActiveResultSets=true;
Asynchronous Processing
Server=myServerAddress;Database=myDataBase;Integrated Security=True;
Asynchronous Processing=True;
从我们的页面上,我有4-5个,有时甚至~10个连接来访问数据。以100个用户同时访问同一页面为例,假设代码正在执行"SELECT"
语句,并为每个客户端提取一些随机行。然后,400-500个连接将一次访问数据库,我认为这肯定会降低服务器/应用程序的性能。
所以我想知道,我应该最小化查询的数量,还是把它留给.Net框架智能。
发布于 2012-12-31 03:23:00
首先看看优化你的linq,例如,当所有的信息都可以通过一个调用拉取时,确保你不会进行两次查询。
另请看缓存。在这里,您必须决定数据应该缓存多长时间、何时使其无效(例如,由某人插入记录)以及在什么级别上执行此操作。如果您的页面很少更改,并且不是很繁重的插入/更新,那么您可以在页面级进行缓存(页面级缓存)。
如果这不是一种选择,您可以考虑使用httpcontext.current.cache
之类的东西缓存从linq返回的数据,快速的谷歌搜索将显示详细信息,但本质上是缓存从linq查询返回的数据,在后续请求时,您首先检查缓存以查看数据是否在那里,如果有,则使用缓存,如果没有,则转到数据库并再次请求。这将限制对数据库的命中。
https://stackoverflow.com/questions/14093514
复制相似问题