gpt4 book ai didi

SQL Server - 任何更好的替代方法来提高具有大量插入的冗长事务的性能?

转载 作者:行者123 更新时间:2023-12-01 11:02:02 26 4
gpt4 key购买 nike

我有一个场景,用户在屏幕上的操作会导致在大约 50 个不同的表中实时创建新记录。用例的设计使得作为用户操作的结果而创建的新记录需要立即供用户进行更改。因此不可能离线或延迟创建。

话虽如此,但明显的问题是——插入语句(连同一些额外的操作语句)在一个事务中,这使得它成为一个非常冗长的事务。这会运行大约 30 秒,并且通常会导致超时或阻止其他查询。

事务需要原子性。有没有更好的方法可以拆分事务并仍然保持一致性?或者有什么其他方法可以改善目前的情况?

最佳答案

insert queries are waiting on other (mostly select) queries that are running in parallel at that moment

您应该考虑使用 row versioned based isolation level ,又名。 SNAPSHOT,因为在基于行版本的隔离级别下,读取不会阻止写入,而写入不会阻止读取。我将从启用 READ_COMMITTED_SNAPSHOT 开始并用它进行测试:

ALTER DATABASE [...] SET READ_COMMITTED_SNAPSHOT ON;

我建议阅读链接的文章以了解行版本控制隐含的影响和权衡。

关于SQL Server - 任何更好的替代方法来提高具有大量插入的冗长事务的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com