有没有办法告诉MS SQL查询不是太重要,而且它可以(而且应该)花时间?
同样有一种方法可以告诉MS SQL它应该为查询提供更高的优先级吗?
答案 0 :(得分:18)
不在SQL 2008下面的版本中。在SQL Server 2008中有资源调控器。使用它,您可以根据登录属性(登录名,应用程序名称等)将登录分配给组。然后可以将这些组分配给资源池和限制或限制i.t.o.资源可以应用于那些资源池
答案 1 :(得分:2)
SQL Server还没有任何形式的资源调控器。有一个名为QUERY_GOVERNOR_COST_LIMIT的SET选项,但它并不是你想要的。它可以防止查询根据成本执行而不是控制资源。
答案 2 :(得分:1)
我不确定这是不是你问的问题,但我有一种情况,即单个UI点击将10,000条记录添加到电子邮件队列(正文中的大量数据)。电子邮件在接下来的几天内发布,因此不需要高优先级,实际上每次发生时它都会使服务器陷入困境。
我将程序拆分为10,000个单独的调用,在不同的线程(设置为低优先级)上在UI上运行该进程,并在运行该过程后将其设置为休眠一秒钟。花了一段时间,但我对其正在做的事情进行了非常精细的控制。
顺便说一句,这不是垃圾邮件,所以不要让我想到它。