1
การทำธุรกรรมที่ชัดเจนจำเป็นต้องใช้ในขณะนี้ในวง?
SQL Server 2014: เรามีตารางที่มีขนาดใหญ่มาก (100 ล้านแถว) และเราจำเป็นต้องอัปเดตเขตข้อมูลสองสามแห่ง สำหรับบันทึกการจัดส่ง ฯลฯ เรายังต้องการเก็บไว้ในธุรกรรมที่มีขนาดพอดี หากเราปล่อยให้บิตรันด้านล่างแล้วยกเลิก / ยุติการค้นหางานที่ทำไปทั้งหมดจะถูกส่งไปหรือเราจำเป็นต้องเพิ่มคำสั่ง BEGIN TRANSACTION / END TRANSACTION เพื่อให้เราสามารถยกเลิกได้ตลอดเวลา? DECLARE @CHUNK_SIZE int SET @CHUNK_SIZE = 10000 UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01' where deleted is null or deletedDate is null WHILE @@ROWCOUNT > 0 BEGIN UPDATE …