网站备案通过后,德州专业网站制作哪家好,大良网站制作公司,win7 wordpress 慢清空表#xff1a;delete from users#xff1b;
清空表只是清空表中的逻辑数据#xff0c;但是物理数据不清除#xff0c;如主键值、索引等不被清除#xff0c;还是原来的值。
截断表#xff1a;truncate table users#xff1b;
截断表可以用于删除表中 的所有数据…清空表delete from users
清空表只是清空表中的逻辑数据但是物理数据不清除如主键值、索引等不被清除还是原来的值。
截断表truncate table users
截断表可以用于删除表中 的所有数据。截断表命令还会回收所有索引的分配页。截断表的执行速度与不带where子句的delete删除命令相同甚至比它还要快。 delete删除一次删除一行数据并且将每一行被删除的数据都作为一个事务记录日志而truncate 截断表则回收整个数据页只记录很少的日志项。delete删除和truncate截断都会回收被数据占用的空间以及相关的索引。只有表的 拥有者可以截断表。
另外truncate表之后如果有自动主键的话会恢复成默认值。
主要区别如下
truncate是整体删除速度较快 delete是逐条删除速度较慢。
truncate不写服务器logdelete写服务器log也就是truncate效率比delete高的原因。
truncate不激活trigger(触发器)但是会重置Identity标识列、自增字段相当于自增列会被置为初始值又重新从1开始记录而不是接着原来的ID数。
而delete删除以后Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。