truncate 命令则仅仅删除了表中所有的数据行 。表的结构和所有的索引仍然继续存在,直到你输入删除表的命令(如上所述) 。绑定到列上的规则、默认值、约束仍然继续绑定,并且触发器也仍然起作用 。
截断表命令还会回收所有索引的分配页 。
截断表的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快 。delete(删除) 一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志;而truncate (截断)表则回收整个数据页,只记录很少的日志项 。delete(删除)和truncate(截断)都会回收被数据占用的空间,以及相关的索引 。只有表的拥有者可以截断表 。
推荐阅读
- 实验|梦天实验舱10月择机发射!“T”字构型空间站来了
- 低调的奢华OpenSUSE opensuse硬盘安装
- 移动硬盘速度慢怎么办 移动硬盘读取速度慢
- 搜狗|腾讯继续挥刀:QQ空间花藤将停止运营、搜狗业务又清洗一个
- QQ|时代的眼泪!QQ空间花藤宣布10月停运:你种过花吗
- 联想|一图看懂联想个人云存储X1s:首发2899元还送4TB硬盘
- NAS|1500元档NAS最好选择!极空间私有云Q2评测:挂载本地磁盘从未如此方便
- 微软|微软发现Windows离奇现象:一首歌毁掉硬盘
- 三星|真的比SSD硬盘大了 三星研发1TB单条DDR5内存
- 腾讯|员工月薪减少900元 腾讯表态:成本还有进一步下降空间
