MS SQL中查询的优先级
时间:2020-03-05 18:52:50 来源:igfitidea点击:
有没有一种方法可以告诉MS SQL查询不是太重要,它可以(并且应该)花费时间?
同样,有没有办法告诉MS SQL它应该赋予查询更高的优先级?
解决方案
回答
SQL Server还没有任何形式的资源调控器。有一个名为QUERY_GOVERNOR_COST_LIMIT的SET选项,但它并不是我们所需要的。并且它防止查询基于成本而不是控制资源来执行。
回答
我不确定这是否是我们要的内容,但是我遇到的情况是,单个UI单击将10,000条记录添加到电子邮件队列(正文中的大量数据)。电子邮件在接下来的几天内发送出去,因此它不需要具有较高的优先级,实际上,每次发生时,它都会使服务器瘫痪。
我将过程分为10,000个单独的调用,在UI上的不同线程中运行了该过程(设置为低优先级),并在运行过程后将其设置为休眠一秒钟。花费了一段时间,但是我对它的工作进行了非常细致的控制。
顺便说一句,这不是垃圾邮件,所以请不要以为是我。
回答
在低于SQL 2008的版本中不存在。在SQL Server 2008中,有资源调控器。使用该功能,我们可以根据登录名的属性(登录名,应用程序名等)将登录名分配给组。然后可以将组分配给资源池和限制或者限制。资源可以应用于那些资源池