免费网页源代码网站,特殊字体生成器,卧龙区网站建设价格,奉化市建设局网站区别
truncatedelete属于 DDL(数据定义语言) 范畴属于 DML(数据操作语言) 范畴删除表数据#xff0c;不能删除视图数据删除表数据#xff0c;删除视图数据只可以梭哈删除通过 where 进行选择性删除不涉及事务处理删除表中数据涉及事务处理效率高、但无法撤销效率低#xff…区别
truncatedelete属于 DDL(数据定义语言) 范畴属于 DML(数据操作语言) 范畴删除表数据不能删除视图数据删除表数据删除视图数据只可以梭哈删除通过 where 进行选择性删除不涉及事务处理删除表中数据涉及事务处理效率高、但无法撤销效率低涉及事务考虑的就多不能删除 foreign key 约束引用的表按照一定的先后顺序可以删除相关表中的数据是删除表再创建是逐条删除重置auto_increment的值不会重置auto_increment的值不知道删除了几条delete知道当被用于带分区的表时truncate 会保留分区
写法
delete from students where age 10
delete from students;truncate table students;使用场景
1、业务删除数据时、且数据量、性能可控的情况下可以考虑使用 delete from xxx where 业务条件。 2、需要考虑事务提交、撤销的管理机制时可以使用 delete 3、当需要删除大批量数据时同时要求速度快效率高并且无需撤销时可以使用 truncate
4、在企业级开发中实际上都是进行逻辑删除将数据进行删除标识处理、而并不进行物理上的删除 5、在实际企业开发、维护过程中不管使用 delete 还是 truncate 命令前都要考虑数据的备份
参考
【SQL】delete 与 truncate 命令的区别