欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TRUNCATE 快速刪除表中的所有數(shù)據(jù)

 更新時(shí)間:2010年05月13日 19:58:13   作者:  
刪除表中的所有行,而不記錄單個(gè)行刪除操作。TRUNCATE TABLE 在功能上與沒(méi)有 WHERE 子句的 DELETE 語(yǔ)句相同;但是,TRUNCATE TABLE 速度更快,使用的系統(tǒng)資源和事務(wù)日志資源更少。
備注

與 DELETE 語(yǔ)句相比,TRUNCATE TABLE 具有以下優(yōu)點(diǎn):

所用的事務(wù)日志空間較少。

DELETE 語(yǔ)句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一個(gè)條目。TRUNCATE TABLE 通過(guò)釋放用于存儲(chǔ)表數(shù)據(jù)的數(shù)據(jù)頁(yè)來(lái)刪除數(shù)據(jù),并且在事務(wù)日志中只記錄頁(yè)釋放。


使用的鎖通常較少。

當(dāng)使用行鎖執(zhí)行 DELETE 語(yǔ)句時(shí),將鎖定表中各行以便刪除。TRUNCATE TABLE 始終鎖定表和頁(yè),而不是鎖定各行。


表中將毫無(wú)例外地不留下任何頁(yè)。

執(zhí)行 DELETE 語(yǔ)句后,表仍會(huì)包含空頁(yè)。例如,必須至少使用一個(gè)排他 (LCK_M_X) 表鎖,才能釋放堆中的空表。如果執(zhí)行刪除操作時(shí)沒(méi)有使用表鎖,表(堆)中將包含許多空頁(yè)。對(duì)于索引,刪除操作會(huì)留下一些空頁(yè),盡管這些頁(yè)會(huì)通過(guò)后臺(tái)清除進(jìn)程迅速釋放。


TRUNCATE TABLE 刪除表中的所有行,但表結(jié)構(gòu)及其列、約束、索引等保持不變。若要?jiǎng)h除表定義及其數(shù)據(jù),請(qǐng)使用 DROP TABLE 語(yǔ)句。

如果表包含標(biāo)識(shí)列,該列的計(jì)數(shù)器重置為該列定義的種子值。如果未定義種子,則使用默認(rèn)值 1。若要保留標(biāo)識(shí)計(jì)數(shù)器,請(qǐng)使用 DELETE。

限制

不能對(duì)以下表使用 TRUNCATE TABLE:
由 FOREIGN KEY 約束引用的表。
參與索引視圖的表。

通過(guò)使用事務(wù)復(fù)制或合并復(fù)制發(fā)布的表。

對(duì)于具有以上一個(gè)或多個(gè)特征的表,請(qǐng)使用 DELETE 語(yǔ)句。

TRUNCATE TABLE 不能激活觸發(fā)器,因?yàn)樵摬僮鞑挥涗浉鱾€(gè)行刪除。有關(guān)詳細(xì)信息,請(qǐng)參閱 CREATE TRIGGER (Transact-SQL)。

相關(guān)文章

最新評(píng)論