487
技術社區[雲棲]
Delete與truncate的區別
Delete table_name 刪除"表格記錄"會把操作記錄在日誌中,可以通過事務回滾來恢複刪除的數據。
truncate table table_name刪除"表格記錄"不可恢複 。
delete 語句是數據庫操作語言(dml),這個操作會放到rollback segement 中,事務提交之後才生效;如果有相應的 trigger,執行的時候將被觸發。
truncate、drop 是數據庫定義語言(ddl),操作立即生效,原數據不放到 rollback segment 中,不能回滾,操作不觸發 trigger。
小結:
TRUNCATE TABLE在功能上與不帶WHERE子句的DELETE語句相同:二者均刪除表中的全部行。但TRUNCATE TABLE 比DELETE速度快,且使用的係統和事務日誌資源少。DELETE語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。TRUNCATE TABLE通過釋放存儲表數據所用的數據頁來刪除數據,並且隻在事務日誌中記錄頁的釋放。
最後更新:2017-04-03 12:55:41
上一篇:
Delete與truncate的區別
下一篇:
SQL Server中clustered與nonclustered的區別
巧用CSS3濾鏡實現圖片不同渲染效果
Denyhosts shell script
如何正確地在Axis、Axis2和Apache CXF之間抉擇?
使用FBSimulatorControl做模擬器適配測試
對文本編輯器的詛咒
SFTP & FTP Upload
阿裏雲大數據計算服務香港開服
【最近麵試遇到的一些問題】多線程有幾種實現方法,都是什麼?同步有幾種實現方法,都是什麼
android利用jdk製作簽名
??????????????????????????????????????????????????????????????????????????????????????-??????-????????????-?????????