这篇文章主要介绍了MySQL中TRUNCATE AND DELETE有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,成都创新互联面向各种领域:楼梯护栏等成都网站设计公司、成都营销网站建设解决方案、网站设计等建站排名服务。
TRUNCATE TABLE和不带 WHERE的DELETE功能是一样的,都是删除表中的所有数据,不过 TRUNCATE TABLE速度更快,占用的日志更少,这是因为 TRUNCATE TABLE直接释放数据页并且在事务日志中也只记录数据页的释放,而 DELETE是一行一行地删除,在事务日志中要记录每一条记录的删除。
那么可不可以用 TRUNCATE TABLE代替不带 WHERE的 DELETE呢?在以下情况是不行的:
1、要保留标识的情况下不能用 TRUNCATE TABLE,因为TRUNCATE TABLE会重置标识。
2、需要使用触发器的情况下不能使用 TRUNCATE TABLE,它不会激发触发器。
3、对于由 FOREIGN KEY约束引用的表(即主键所在的表,不是外键所在的表)不能使用 TRUNCATE TABLE。
4、对于参与了索引视图的表不能使用 TRUNCATE TABLE,注意指索引视图,并非普通视图。
感谢你能够认真阅读完这篇文章,希望小编分享的“mysql中TRUNCATE AND DELETE有什么用”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!