zoukankan      html  css  js  c++  java
  • Mysql清空表(truncate)与删除表中数据(delete)的区别

    为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活。遂考虑直接进入mysql直接清空表或者删除表中数据。

    本文记录一下这2种操作模式的区别,目标对象是表wp_comments,里面的所有留言均是垃圾留言,均可删除。然后便有了以下2种方式(进入mysql操作界面后):

    1. truncate table wp_comments;
    2. delete * from wp_comments;

    其中truncate操作中的table可以省略,delete操作中的*可以省略。这两者都是将wp_comments表中数据清空,不过也是有区别的,如下:

    • truncate是整体删除(速度较快), delete是逐条删除(速度较慢)。
    • truncate不写服务器log,delete写服务器log,也就是truncate效率比delete高的原因。
    • truncate不激活trigger(触发器),但是会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。
    • 如果只需删除表中的部分记录,只能使用DELETE语句配合where条件。 DELETE FROM wp_comments WHERE……

    全文完。

    摘自:http://blog.is36.com/mysql_difference_of_truncate_and_delete/

  • 相关阅读:
    APP测试整理
    Ubuntu18.04搭建测试环境
    Ubuntu18.04完全卸载mysql5.7
    Ubuntu18.04部署禅道系统
    mysql数据库创建用户、赋权、修改用户密码
    Chrome浏览器查看cookie
    APP测试之日志分析
    计算机网络知识之TCP/IP协议簇
    关于博客园cnblogs图片显示模糊失真问题
    Jmeter脚本录制攻略
  • 原文地址:https://www.cnblogs.com/blog411032/p/6283097.html
Copyright © 2011-2022 走看看