有一个存储过程可以执行非常繁重的过程。它在迭代大约30个表时重新生成sql insert脚本,在完成该过程后,它开始将这些脚本插入到名为X的表中。该过程大约需要20分钟,这是不可接受的。你必须要知道的最后一件事是由在.NET上创建的web方法调用的过程。
PS:表有索引。
以下是我的问题
答案 0 :(得分:2)
这可能会起作用,因为不会阻塞或等待存储过程的其他部分完成。显然,您仍然受到服务器物理资源的限制。说实话,你要确定的唯一方法就是做到并衡量表现。
我会确保您准确地分析存储过程的每个部分的依赖关系,然后再次执行以确保。
祝你好运。答案 1 :(得分:0)
您是否考虑过将大量插入带有索引的表格所带来的性能损失。如果您还没有这样做,请尝试在没有索引的表上插入流程的一部分并测量任何收益。如果它被证明是有益的,请编写索引创建脚本并在插入后运行它。
线程可能会有所帮助,但我的经验是优化sql进程可能会带来更多好处。我很想听听你的发现。
答案 2 :(得分:0)
我也尝试从多个线程的控制台应用程序调用相同的SP,但我没有看到我的SP正在并行运行。即使我使用线程多次调用它,它也会一个接一个地执行。我正在使用Sql server 2008,(快速版),我也在SQL Server 2008中配置了并行处理。但它没有并行运行。任何想法或建议将不胜感激。
由于 Venkat