有没有办法强制一块T-SQL代码运行多线程?
如果没有,是否可以避免运行代码块,如果它运行单线程?
答案 0 :(得分:4)
没有
可以指定最大并行度,但不能指定最小值。如果查询具有并行计划,则将根据当前服务器负载在每个执行时间决定使用的处理器数量。
您可以通过使用资源govenor并将查询置于高优先级组中来增加SQL Server 2008中发生这种情况的可能性。
答案 1 :(得分:0)
从sql-server-2008-r2开始,之后可以强制执行多线程。
以下代码将强制多线程:
OPTION ( RECOMPILE, QUERYTRACEON 8649 )
这将强制单线程
OPTION (MAXDOP 1)
您可以在Paul White's blog上阅读更多内容,或只在Google上阅读" QUERYTRACEON 8649"