0

我只想知道我们的连接字符串字段中是否有属性或属性,以便我们可以与客户保持优化的数据库连接。就像我通常使用的那样。它只包含必需的信息。

<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 个连接来访问数据。"SELECT"假设代码正在执行语句并为每个客户端获取一些随机行,我有 100 个用户同时访问同一页面。然后一次将有 400-500 个连接访问数据库,我认为这肯定会降低服务器/应用程序的性能。

所以我想知道,我应该尽量减少查询的数量,还是留给 .Net 框架智能。

4

1 回答 1

0

首先考虑优化您的 linq,确保当所有信息都可以通过一次调用提取时,您没有进行两次查询。

还要看缓存。在这里,您必须决定数据应缓存多长时间以及何时应使其无效(例如通过某人插入记录)以及您在什么级别执行此操作。如果您的页面很少更改并且插入/更新不是那么繁重,您可以在页面级别进行缓存(页面级别缓存)。

如果这不是一个选项,您可以查看使用类似httpcontext.current.cache的东西缓存从 linq 返回的数据,快速谷歌搜索将向您显示详细信息,但本质上您缓存从 linq 查询返回的数据,并在后续请求中检查先缓存看看数据有没有,有就用那个,没有就去数据库再请求。这限制了对您的数据库的访问。

于 2012-12-30T19:22:59.997 回答