MYSQL 清空表和截斷表


清空表:delete from users;

清空表只是清空表中的邏輯數據,但是物理數據不清除,如主鍵值、索引等不被清除,還是原來的值。

 

截斷表:truncate table users;

 

截斷表可以用於刪除表中 的所有數據。截斷表命令還會回收所有索引的分配頁。截斷表的執行速度與不帶where子句的delete(刪除)命令相同,甚至比它還要快。 delete(刪除)一次刪除一行數據,並且將每一行被刪除的數據都作為一個事務記錄日志;而truncate (截斷)表則回收整個數據頁,只記錄很少的日志項。delete(刪除)和truncate(截斷)都會回收被數據占用的空間,以及相關的索引。只有表的 擁有者可以截斷表。

另外,truncate表之后,如果有自動主鍵的話,會恢復成默認值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM