MYSQL查询消耗太多内存

时间:2014-09-03 01:06:19

标签: mysql

我有一个巨大的MYSQL表,我使用的hostgator共享服务器有4GB RAM。我试图使用phpmyadmin执行以下简单查询:

DELETE FROM Table1_main where date = '2009-12-31' 

但是,此查询只是因为RAM不足而超时。如何在不购买性能更高的服务器的情况下执行此查询?

3 个答案:

答案 0 :(得分:0)

注意:如果你只是想让它完成它,这就是一个黑色

我敢打赌,有更好的方法可以做到这一点。

  DELETE FROM Table1_main where date = '2009-12-31' limit 1000000

尝试增加数字直到它破裂。

答案 1 :(得分:0)

如果您的MySQL大于或等于5.1版,那么您可以使用分区。

另一个解决方案是使用一个循环一次删除N条记录,直到删除总数。

请在以下位置查看有关这两种方法的见解:

http://mysql.rjweb.org/doc.php/deletebig

希望有所帮助,

答案 2 :(得分:0)

该列上是否有索引?这通常是加快像这样简单查询的方法。

以下是如何在该列上创建索引: CREATE INDEX ON table1_main (date);