删除查询mysql - 需要澄清

时间:2015-09-23 13:23:54

标签: mysql database-performance delete-row

delete from tablename where id in ('val1','val2',....,'val6000');

'id'是FK列[char(50)]

IN query子句包含6000个值

12分10秒后,从表'tablename'中删除了1270000行。

tablename包含2个索引列,除了PK和FK('id'是FK col)。

我的疑问是,需要更多时间,是时候删除1270000行了吗?或者解析那个where子句来确定要删除的行?

有没有办法减少执行时间?

1 个答案:

答案 0 :(得分:0)

请检查MySQL服务器的配置 innodb_buffer_pool_size

如果它变小,则更改一些更大的值 - 例如2 GB,然后重试。

也许您在将当前buffer_pool中的数据拟合时遇到问题。