Есть таблица (примерно 40 млн. строк):
CREATE TABLE `related_articles` (
`articleID` int(32) DEFAULT NULL,
`relatedArticleID` int(32) DEFAULT NULL,
KEY `IX_ArticleID` (`articleID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
И есть запрос:
SELECT relatedArticleID FROM related_articles WHERE articleID = 252381;
Explain:
+----+-------------+------------------+------+---------------+--------------+---------+-------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------------+------+---------------+--------------+---------+-------+------+-------------+
| 1 | SIMPLE | related_articles | ref | IX_ArticleID | IX_ArticleID | 5 | const | 10 | Using where |
+----+-------------+------------------+------+---------------+--------------+---------+-------+------+-------------+
Обычно подобные запросы отрабатывают мгновенно. Но иногда в логах они проскакивают со временем в 1-2 секунды.
С чем это может быть связано?
UPDATE: в таблицу периодически вставляются новые данные. Может быть с этим как то связано? Подобная проблема наблюдается и с другими таблицами.
UPDATE: SHOW INDEX FROM related_articles:
+------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| related_articles | 1 | IX_ArticleID | 1 | articleID | A | 10252773 | NULL | NULL | YES | BTREE | | |
+------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+