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子句来确定要删除的行?
有没有办法减少执行时间?
答案 0 :(得分:0)
请检查MySQL服务器的配置 innodb_buffer_pool_size
如果它变小,则更改一些更大的值 - 例如2 GB,然后重试。
也许您在将当前buffer_pool中的数据拟合时遇到问题。