中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Truncate Table是怎么刪除表內容避免產生過多日志

發布時間:2021-12-30 17:09:01 來源:億速云 閱讀:155 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關Truncate Table是怎么刪除表內容避免產生過多日志,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

數據庫每天在進行頻繁操作和記錄,LOG文件會特別大且增長的比較快,有時候一天就5000M,每天刪除一次也很不方便。有沒有方法能避免生成日志或不產生日志呢?不產生日志的方法目前我還沒找到,但我們在平常的操作中用一些命令可以避免產生過多的日志。

比如:  
SELECT  *  into test_2  from book  
共50000條記錄,產生十幾M log,

如果是delete from test_2  
產生80多M log ,這顯然無形中增大了日志。  
 
我們在使用delete時可以換成truncate:  
truncate table test_2  
這樣就可以明顯減少日志的產生。

下面介紹一下truncate這個命令:

Truncate是SQL中的一個刪除數據表內容的語句,用法是:

  語法   TRUNCATE TABLE   name

  參數

  name 是要截斷的表的名稱或要刪除其全部行的表的名稱。

  下面是對Truncate語句在MSSQLServer2000、2005中用法和原理的說明:

  Truncate table 表名 速度快,而且效率高,因為:

  TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日志資源少。

  DELETE 語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數據所用的數據頁來刪除數據,并且只在事務日志中記錄頁的釋放。

  TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用 DELETE。如果要刪除表定義及其數據,請使用 DROP TABLE 語句。

  對于由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由于 TRUNCATE TABLE 不記錄在日志中,所以它不能激活觸發器。

  TRUNCATE TABLE 不能用于參與了索引視圖的表。

  對用TRUNCATE TABLE刪除數據的表上增加數據時,要使用UPDATE STATISTICS來維護索引信息。

  如果有ROLLBACK語句,DELETE操作將被撤銷,但TRUNCATE不會撤銷。

  示例

  下例刪除 authors 表中的所有數據。

  TRUNCATE TABLE authors

  權限

  TRUNCATE TABLE 權限默認授予表所有者、sysadmin 固定服務器角色成員、db_owner 和 db_ddladmin 固定數據庫角色成員且不可轉讓。

  補充參數:

  TRUNCATE TABLE name [DROP/REUSE STORAGE]

  DROP STORAGE:顯式指明釋放數據表和索引的空間

  REUSE STORAGE:顯式指明不釋放數據表和索引的空間 

關于Truncate Table是怎么刪除表內容避免產生過多日志就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

方城县| 普定县| 新昌县| 潼南县| 道孚县| 嘉祥县| 贵溪市| 博乐市| 神农架林区| 宜君县| 宝清县| 夹江县| 邹城市| 游戏| 南京市| 泾源县| 南陵县| 镇康县| 高雄市| 扎赉特旗| 浙江省| 宜阳县| 绍兴县| 宜春市| 和平区| 疏勒县| 长顺县| 揭阳市| 原阳县| 蚌埠市| 阿合奇县| 延长县| 如东县| 开远市| 焦作市| 福海县| 樟树市| 南充市| 三原县| 扎赉特旗| 邵阳市|