Mysql删除数据库内容的最快方法是什么?
mysql在freebsd上删除数据库内容的最快方法?请帮忙 我尝试从navicat中删除400000多行, 但一小时后。。。只有10万人被删除Mysql删除数据库内容的最快方法是什么?,mysql,freebsd,Mysql,Freebsd,mysql在freebsd上删除数据库内容的最快方法?请帮忙 我尝试从navicat中删除400000多行, 但一小时后。。。只有10万人被删除 我没有phpmyadmin来删除表中的所有内容: TRUNCATE TABLE table_you_want_to_nuke 要删除某些行,有两个选项: 遵循以下步骤: 使用Create table(创建表格)创建临时表格 删除临时表上的所有索引。 将插入时要保留的记录复制到_temp_表中,从当前_表中选择*,其中。。。 截断当前表 插入当前_表从
我没有phpmyadmin来删除表中的所有内容:
TRUNCATE TABLE table_you_want_to_nuke
要删除某些行,有两个选项:
遵循以下步骤:
使用Create table(创建表格)创建临时表格
删除临时表上的所有索引。
将插入时要保留的记录复制到_temp_表中,从当前_表中选择*,其中。。。
截断当前表
插入当前_表从_temp_表中选择*
为了加快此选项的速度,您可能希望在最终插入之前删除当前_表中的所有索引,然后在插入之后重新创建这些索引。MySQL在索引现有数据方面比动态索引快得多。
您当前尝试的选项是:从\u表中删除任何\u条件。您可能需要使用WHERE条件或限制将其分解成块,以便可以对其进行批处理,而不会使服务器永远陷入困境
哪个更好/更快取决于很多因素,主要是删除记录与保留记录的比率以及涉及的索引数量。一如既往,在实时数据库上执行此操作之前,请仔细测试,因为删除和截断都会永久性地破坏数据。要删除表的所有内容,请执行以下操作:TRUNCATE:值得注意的是,不能截断外键约束引用的表