我有一个约 5m 行(约 2.5GB)的 MyISAM 表,我发现删除操作非常慢。例如:
mysql> select * from twitter_tweets where parent_type='search' and parent_id=4;
...
661372 rows in set (5.35 sec)
mysql> delete from twitter_tweets where parent_type='search' and parent_id=4;
Query OK, 661372 rows affected (7 min 38.19 sec)
在 parent_type、parent_id 和 tweet_id(按此顺序)上有一个复合(唯一)索引,并且 select 的解释计划使用此索引。同样值得注意的是,parent_type 只有两个可能的值,而 parent_id 大约有 100 个。
需要这么长时间正常吗?如果没有,可以做些什么来加快速度?