我似乎還記得,當表中的一行更新時,SQL Server首先刪除該行,然後重新添加具有相同標識值的列的行(如果存在此列)。任何人都可以確認嗎?SQL Server - 當表中的一行更新時會發生什麼?
4
A
回答
10
False。在大多數情況下,數據會在同一頁面內進行更改。使用SQL Server 2008,您實際上可以查詢數據駐留在磁盤上的哪個位置,這會顯示多少。
說完居然看着它現在,我把它都回來了:
http://www.sqlskills.com/BLOGS/PAUL/category/On-Disk-Structures.aspx
這可以在SQL Server 2008上容易測試(從鏈接的文章修改後的代碼)
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. 當發生javascript運行時錯誤時會發生什麼?
- 2. 當LINQ更新失敗時會發生什麼?
- 3. SQL Server重新啓動時系統代理表會發生什麼?
- 4. 當我從SQL遊標中返回時會發生什麼?
- 5. 當你運行這個sql命令時,sql server上發生了什麼
- 6. 當你運行一個程序時會發生什麼?
- 7. 當我更新自己的SQL列時會發生什麼? - 或者 - 簡化的條件更新?
- 8. 應該是什麼表包含更新一行更新觸發
- 9. 當我ping 127.0.0.1時會發生什麼
- 10. 當redis重載時會發生什麼?
- 11. 當crontabs重疊時會發生什麼?
- 12. 當AsyncTasks已滿時會發生什麼?
- 13. 當我編譯時會發生什麼?
- 14. SQL Server和批量插入 - 它什麼時候會發生
- 15. Erlang:當你f()中的一個Pid時會發生什麼?
- 16. 當您達到SQL Server Express 4GB/10GB限制時會發生什麼?
- 17. 什麼時候在sql server中進行全文索引更新?
- 18. 當發生器運行的值不足以產生時會發生什麼?
- 19. Facebook的評論,當域名更改時會發生什麼?
- 20. 當數據庫中的數據發生更改時,LINQ to SQL不會更新
- 21. 當某些字段發生變化時,sql server db會觸發
- 22. 當我在一個double中使用goto時會發生什麼?
- 23. 當您加入「或」或SQL時會發生什麼?
- 24. SQL Server:在「當前」表更新爲「歷史」表時創建一個觸發器
- 25. 當從xCode 5.1更新到xCode6時,我的項目會發生什麼?
- 26. 當我運行下面的命令時會發生什麼?
- 27. 當executorservice關閉時,運行/阻塞的runnables會發生什麼()
- 28. java當我們刷新IO流時會發生什麼
- 29. 當我們刷新網頁時會發生什麼?
- 30. 當我們重新加載Elixir模塊時會發生什麼?
我很好奇你們爲什麼好奇蘭迪爲什麼好奇。這是一種很好的學習方式。 – 2013-08-14 13:44:20
@LeeGunn - 我已經開始學習了,在3到4年的時間裏,我一直在關注如此多的人對真正回答問題不感興趣。他們只是對爭論感興趣。我已經學會忽視這些人。 – 2013-08-14 14:09:07