truncate table與delete區別,truncatetable

來源:互聯網
上載者:User

truncate table與delete區別,truncatetable

truncate table需要drop table許可權,它是完全清空一張表。從邏輯上看,truncate table同delete 一樣,或是drop table +create table一樣。使用truncate table刪除全表資料,要比delete要快。使用truncate table清空資料,不能進行復原,且不受表間外鍵約束限制。truncate是DDL語句,而且delete是DML語句,兩者區別如下:1.truncate 是郵drop table+create table ,比使用delete一行行刪除資料要快得多,特別是清空大資料的表。2.truncate是一種隱匿提交,所以不能進行復原。3.若當前表有外鍵約束,truncate table 可以清空表中的所有資料,不受外鍵約束限制。4.使用truncate table將自增ID置零,delete則不會。5.在使用分區表時,截斷表儲存分區;也就是說,資料和索引檔案刪除並重新建立,在分區定義(.par)檔案不受影響。6.TRUNCATE TABLE語句不調用刪除觸發器。


參考:

http://dev.mysql.com/doc/refman/5.7/en/truncate-table.htmlhttp://dev.mysql.com/doc/refman/5.6/en/optimizing-innodb-ddl-operations.html


truncate table 與delete * from的不同

區別主要兩個1。 Truncate 是整體刪除, delete是逐條刪除2. truncate不寫伺服器log,delete寫伺服器log,這就是為什麼truncate要快過delete 所以,影響有:1。 truncate 快2。 truncate不啟用 trigger3。 truncate 重設 Identity
 
問TRUNCATE TABLE 與 DELETE在刪除整個表的所有記錄時的不同

1.DELETE
 ・DML語言
 ・可以回退
 ・可以有條件的刪除

DELETE FROM 表名
  WHERE 條件

2.TRUNCATE TABLE
 ・DDL語言
 ・無法回退
 ・預設所有的表內容都刪除
 ・刪除速度比delete快。

TRUNCATE TABLE 表名
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.