新问题
- 有大批量的数据要删除,delete太慢了;
知识点
- 删除方式之 delete
- 灵活性高:可以对数据部分删除;
delete from t1 where id=1;
- 效率低:属于DML语句,逻辑性删除,且逐行进行删除;
- 事务:可以使用rollback语句回滚;
- 可以触发triggers;
- 自增字段保留原有的最大值,并继续往后增长
- 删除方式之 truncate
- 灵活性低,只能对整表数据删除,保留表的所有结构;
truncate table t1;
- 效率高:属于DDL语句,需要drop权限,会隐式提交;
- 事务:不能rollback回滚数据;
- 无法触发triggers;
- 自增字段从头开始计数;
- 删除方式之 drop
- 属于DDL语句,把整个表删除(清空一切东西);
速度上, drop > truncate >delete
drop 和 truncate使用时一定要谨慎!
课程视频
mysql_coldknowlegde_lesson3 on bilibili
mysql_coldknowlegde_lesson3 on xigua