1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

[docs update] 解释数据库不同删除命令快慢不同的原因

This commit is contained in:
sam 2022-02-13 14:53:13 +08:00
parent 88f36fd6e3
commit b1f9e3207e

View File

@ -132,7 +132,14 @@ truncate 和 drop 属于 DDL(数据定义语言)语句,操作立即生效,
### 执行速度不同
一般来说:drop>truncate>delete这个我没有设计测试过
一般来说drop > truncate > delete这个我没有设计测试过
> `delete`命令执行的时候会产生数据库的`binlog`日志,而日志记录是需要消耗时间的,但是也有个好处方便数据回滚恢复。
>
> `truncate`命令执行的时候不会产生数据库日志,因此比`delete`要快。除此之外,还会把表的自增值重置和索引恢复到初始大小等。
>
> `drop`命令会把表占用的空间全部释放掉。
>
> Tips你应该更多地关注在使用场景上而不是执行效率。
## 数据库设计通常分为哪几步?