我有一个巨大的MYSQL表,我使用的hostgator共享服务器有4GB RAM。我试图使用phpmyadmin执行以下简单查询:
DELETE FROM Table1_main where date = '2009-12-31'
但是,此查询只是因为RAM不足而超时。如何在不购买性能更高的服务器的情况下执行此查询?
答案 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);