我们有一个应用程序,其中我在MSSQL Server中有65 GB的数据。 具有大约250个表和1000个存储过程和函数。
现在,应用程序完全是DB特定的,几乎所有逻辑都在过程和函数中编码。一些存储过程需要花费超过4-5分钟才能执行。现在我们已经完成了优化/重新设计这些慢速运行的存储过程的任务。
我们没有太多关于项目/架构/设计的信息,但我们可以访问架构和数据,幸运的是我们只需处理一个模块来优化哪个很慢。 (但这涉及运行超过1000行的许多SP和函数..包含应用程序逻辑..)
我的问题是如何开始这样的项目。我们已经设定了一些不切实际的最后期限,即在2-3天内提出补救措施,我已经花了一天的时间进行设置!
方法应该是什么:
由于
答案 0 :(得分:0)
在尝试任何修复之前,您需要先了解问题区域。
你说你刚开始看一个模块,然后我建议使用SQL Profiler之类的东西来确定执行语句的频率,以及执行和使用这些数据作为起点的时间看看逻辑是否可以优化。 查找使用游标的任何操作,这些游标可能会受益于更基于集合的方法。
至于你的三个选项,我会说你必须去(3),因为你已经声明你没有对该应用程序有透彻的了解,所以你需要获得一些进一步的曝光顺序确定在哪里集中精力。我不认为(1)是一个长期解决方案,虽然它显然会提供一些好处(多少决定当前和建议的规格)。只有在您有机会首先建立问题区域时,您才会知道(2)是否是有效选项。
祝你好运。