我有一个很大的存储过程,在100%CPU下运行2-3秒。它不是什么大问题,如果SP运行一段时间,但是这个特定的SP每秒运行一次。这样您就可以在一分钟内全天了解处理器的总使用情况。
此存储过程包含大量查询,临时表,一个或两个游标以及一些动态查询。
调整我的SP的最佳解决方案是什么,以及不同的方法。
在编写SP时,我们需要记住哪些要点?
请帮助......
答案 0 :(得分:1)
要调整存储过程,您需要单独处理其中包含的每个查询和进程。确保正确设置索引,并检查使用临时表和动态SQL的方法是否合适。还要确保您没有滥用可能被设计为直接使用的其他存储过程和视图,而不是滥用更大过程中的嵌入。
很难提出更多建议,但是,根据您对存储过程中所包含内容的描述及其运行频率,听起来这是您系统中的关键过程,而且数据可能是{{{ 3}}。如果您对数据进行非规范化,那么您将重写存储的proc以查询数据库的该部分以获得更好的性能。