c# - 用于修复 .NET 应用程序以解决 SQL Server 超时问题并改进执行时间的 list

标签 c# .net sql-server vb.net timeout

用于改进 .NET 代码和 SQL Server 之间的执行时间的 list 。 任何从基本到奇怪的解决方案都值得赞赏。

代码:

通过 avgbody 更改命令和连接中的默认超时.

avgbody 使用存储过程调用而不是内联 sql 语句.

使用 Jay Shepherd 的事件监视器查找阻止/锁定.

SQL 服务器:

注意存储过程中的参数嗅探 AlexCuse .

注意动态增长数据库 Martin Clarke .

通过 BradO 使用 Profiler 查找任何花费超过 100 毫秒的查询/存储过程.

将事务超时增加 avgbody .

通过avgbody 将动态存储过程转换为静态存储过程.

通过Jay Shepherd检查服务器有多忙.

最佳答案

过去我的一些解决方案是:

  1. 修复 sql 命令的默认超时设置:

    Dim myCommand As New SqlCommand("[dbo].[spSetUserPreferences]", myConnection)

    myCommand.CommandType = CommandType.StoredProcedure

    myCommand.CommandTimeout = 120

  2. 增加连接超时字符串:

    Data Source=mydatabase;Initial Catalog=Match;Persist Security Info=True;User ID=User;Password=password;Connection Timeout=120

  3. 增加 sql-server 2005 中的事务超时

    在 management studio 的“工具”>“选项”>“设计器”中增加“事务超时时间:”,即使“覆盖表设计器更新的连接字符串超时值”已选中/未选中。

  4. 将动态存储过程转换为静态存储过程

  5. 让代码调用存储过程,而不是在代码中编写内联 sql 语句。

关于c# - 用于修复 .NET 应用程序以解决 SQL Server 超时问题并改进执行时间的 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67366/

相关文章:

c# - 为什么程序集的调用会占用如此多的 RAM?

c# - c# 类上的 f# 模式匹配

sql - 改进我的 SQL Select 语句以选择尚未完全完成某个部分的学生

sql-server - 两个表之间的TSQL业务规则实现

c# - 从服务器端线程更新面板

c# - 为 Visual Studio 安装项目中的每个用户将注册表项添加到 HKCU RunOnce

c# - wpf 中调度程序计时器的性能

c# - 将 Excel 宏转换为 C#?

sql-server - SSIS 平面文件逆透视

c# - 使用 mysql 和 c# 比较两个表并将不匹配的记录插入到另一个表中