我们现在遇到2个问题:
我能看到的最令人震惊的特征是我们使用大量查询/ DML执行非常简单的任务。捕获1或2个字符串现在占用15-20个查询/ DML。捕获针对3个左右问题的答案的小型调查分布在20-30个查询中。
有很多查询,因为(1)代码已经转手了很多,(2)架构是超规范化的,因为实体框架表无法真正调整而不会导致各种问题,(3)遗留功能仍然受到支持。
所有这些操作在同一操作期间重复地触发一个或多个表。
我们的3位开发人员推测减少这些查询的数量会降低CPU开销(?),但我们的一位开发人员认为这对我们的死锁问题没有帮助。现在我们的交易基本上都设置为SNAPSHOT隔离级别(如果有帮助的话)。我刚刚完成了一些关于添加索引的分析,但我还没有看到结果。
减少表的数量会减少死锁问题吗?
减少表/查询的数量会减少DB CPU开销吗?