Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server - Điều gì xảy ra khi một hàng trong bảng được cập nhật?

Sai. Dữ liệu được thay đổi tại chỗ, trong cùng một trang trong hầu hết các trường hợp. Với SQL Server 2008, bạn có thể thực sự thẩm vấn nơi dữ liệu nằm trên đĩa, dữ liệu này sẽ tiết lộ càng nhiều.

Bây giờ thực sự nhìn lại nó, tôi rút lại tất cả:

http://www.sqlskills.com/BLOGS/PAUL/category/On-Disk-Structures.aspx

Điều này có thể dễ dàng kiểm tra trên SQL Server 2008. (mã được sửa đổi từ bài viết được liên kết)

CREATE TABLE test (c1 INT, c2 VARCHAR (2000));
GO
CREATE CLUSTERED INDEX test_cl ON test (c1);
GO
CHECKPOINT;
GO
INSERT INTO test VALUES (1, REPLICATE ('Paul', 500));
GO
CHECKPOINT;
select %%physloc%%, * from test    -- 0x3E01000001000000
GO
UPDATE test SET c1 = 2 WHERE c1 =1;
GO
select %%physloc%%, * from test    -- 0x3E01000001000100
                                                     ^
                                                     |
                                    notice it has changed location



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiệu suất kế hoạch thực thi thủ tục được lưu trữ kém trong SQL - đánh hơi tham số

  2. Sự cố khi mở tệp MDF vì nó báo lỗi SQL 5171? - Bài đăng của khách của Andre Williams

  3. Xoay vòng nhiều cột dựa trên một cột trong SQL Server

  4. Tạo bảng trong SQL Server (T-SQL)

  5. Làm cách nào tôi có thể gọi một Thủ tục được lưu trữ trong SQL bằng EntityFramework 7 và Asp.Net 5