Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server — co się dzieje po zaktualizowaniu wiersza w tabeli?

Fałsz. Dane są zmieniane w miejscu, w większości przypadków na tej samej stronie. Dzięki SQL Server 2008 możesz faktycznie sprawdzić, gdzie znajdują się dane na dysku, co ujawni tyle samo.

Po zapoznaniu się z tym teraz, cofam to wszystko:

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

Można to łatwo przetestować na SQL Server 2008. (kod zmodyfikowany z połączonego artykułu)

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. Napraw komunikat 8114 „Błąd konwersji typu danych varchar na numeryczny” w SQL Server

  2. Jak działa funkcja CHARINDEX() w SQL Server (T-SQL)

  3. Projekt bazy danych dla ustawień użytkownika

  4. Przykłady TAN() w SQL Server

  5. Korzystanie z programu SQL Server Profiler | Rozwiązywanie problemów z wydajnością serwera SQL -5