我有一个 MySQL 数据库表,其中有超过 250000 条记录。现在我想在特定条件下删除大约230000条记录。当我尝试这样做时,无论如何我都无法实现它,因为它一直在完全加载。
我尝试过编写PHP脚本来一一读取数据并将其删除。我还尝试通过删除表来备份数据。但我无法进行备份。我也尝试重新索引,但这也不起作用。
我完全被这个问题困扰,找不到任何方法来解决。
如果您知道有什么方法可以解决这个问题,请帮助我。
非常感谢, 公羊
最佳答案
您需要根据 WHERE 条件中的字段对表建立索引。在您的示例中:
DELETE FROM Participator WHERE EventID = 180;
索引应位于 EventID 上。使用以下语句添加索引:
ALTER TABLE Participator add index(EventID);
您可以在此处找到有关 mysql 索引以及如何使用它们的更多信息: https://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html
关于php - 删除MySQL表中的批量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465990/