gpt4 book ai didi

sql-server - TABLOCK 用于优化插入选择语句的事务日志记录

转载 作者:行者123 更新时间:2023-12-03 01:06:39 25 4
gpt4 key购买 nike

我正在使用 TABLOCK 表提示来阅读该内容

对于这样的声明

INSERT INTO Tab1 
SELECT * FROM Tab2

可以优化事务日志记录。

我不明白这一点,因为 Tablock 将锁定整个表,因此其他进程无法访问它,那么这将如何优化事务日志记录?

最佳答案

如果没有TABLOCK提示,SQL Server将使用其正常的行级锁定 - 因此对于它尝试插入的每一行,它将锁定正在插入的新行,然后继续。这可能会增加大量需要持有和管理的锁。

使用 TABLOCK 只是锁定进程的整个表,因此当 INSERT ... SELECT ... 语句正在运行时,其他事务无法访问该表- 但是(表上)只有一个锁,因此与在新插入的行上拥有数十个、数百个甚至数千个单独的锁相比,管理开销要小得多。

关于sql-server - TABLOCK 用于优化插入选择语句的事务日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680943/

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