Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 维护某人的存储过程_Sql_Sql Server_Stored Procedures - Fatal编程技术网

Sql 维护某人的存储过程

Sql 维护某人的存储过程,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我有一个问题-一个编写了非常复杂的存储过程的开发人员,他/她离开了公司。现在,您要扮演他的角色,使相同的存储过程运行得非常快,或者像以前一样工作,以获得相同的结果。我们需要遵循哪些步骤。换句话说,这就像处理某人即将完成的工作。首先,查看存储过程的执行计划。确保您了解为什么SQL Server优化引擎选择这些计划而不是另一个执行计划,它使用了哪个索引,以及为什么,统计数据是如何工作的 然后,让它变得更好 这些是你需要遵循的步骤 了解正在做什么 让它变得更好 重复一遍 众所周知,存储过程很难维护。我

我有一个问题-一个编写了非常复杂的存储过程的开发人员,他/她离开了公司。现在,您要扮演他的角色,使相同的存储过程运行得非常快,或者像以前一样工作,以获得相同的结果。我们需要遵循哪些步骤。换句话说,这就像处理某人即将完成的工作。

首先,查看存储过程的执行计划。确保您了解为什么SQL Server优化引擎选择这些计划而不是另一个执行计划,它使用了哪个索引,以及为什么,统计数据是如何工作的

然后,让它变得更好

这些是你需要遵循的步骤

  • 了解正在做什么
  • 让它变得更好
  • 重复一遍

  • 众所周知,存储过程很难维护。我将从写作开始——这可能涉及建立一个专用的测试环境,使用“已知良好”的数据。找出过程中的主要逻辑分支,并编写单元测试以涵盖这些情况。这将使您更加熟悉代码

    一旦您进行了单元测试,就可以进行优化(如果我理解了您的问题,那么您正在尝试提高性能)。如果您的性能优化涉及更改过程,那么单元测试将告诉您是否更改了代码的行为

    确保单元测试是最新的,这样当你离开时,下一个人就不会面临同样的挑战了