防止长时间运行的"扫描"查询死锁更高优先级的用户查询

2020-09-12 10:56发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们偶尔有一些批量扫描查询,它们...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们偶尔有一些批量扫描查询,它们的优先级要低于实时用户查询。 但是当发生死锁时,ASE选择CPU使用率最低的进程作为受害者(根据P&T锁定和并发控制->死锁和并发->服务器任务死锁)。

但这与我们想要的相反,因为长时间运行的后台"扫描"查询通常具有更多的CPU。

在选择死锁受害者时,ASE是否注意任务优先级(sp_setpsexe)? (可能不是)

是否还有其他方法可以告诉ASE哪个进程应该成为死锁的首选受害者?

MSSQL具有" SET DEADLOCK_PRIORITY"选项。 只是说

2条回答
huskylover
2020-09-12 11:16

在设计良好的应用程序/查询中,死锁应该很少。 尤其是对于使用DOL(即DPL和DRL)锁定方案的表。

是否对表使用APL方案?

如果查询结果可以容忍某些不准确性,请使用select。 ..带有noholdlock选项用于长时间扫描查询。

HTH

Avinash

一周热门 更多>

相关问答