MySql表操作不会终止

时间:2015-10-14 05:06:46

标签: mysql sql-delete database-performance

我通过连接操作创建了一个大表(30列* 1000万行)。它持续运行了几天(在大型服务器上),所以我不得不终止创建查询。

但是,这个表仍然存在,我无法删除,删除,选择,简单(选择计数(*)),重命名,甚至是描述操作! 我无法删除整个数据库,因为我有其他重要的表。 那么如何从我的数据库中删除该表呢?

我尝试了很多解决方案,但没有一个能够解决问题。我试过了:

drop table badtable;
delete from badtable where 1 = 1; --always true 
delete from badtable where 1 = 1 limit 100; --never terminated

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这是一个InnoDB表,对吗?当您终止创建查询时,它会设置“回滚”您所做的事情。呸。

到现在为止,情况已经开始了,是吗?

下次,在1000行的块中构建表 - 每个块都是COMMITted。

答案 1 :(得分:0)

您是否尝试过ANALYZE TABLEREPAIR TABLE?如果出现错误,您可以修复该表,然后尝试删除它。