Сервер 4core/64GB RAM/30GB SSD
Ubuntu 22, MariaDB: 10.6.7-MariaDB-2ubuntu1
Нагрузка на сервер нулевая.
Таблица с 3млн записей:
CREATE TABLE `t1` (
`id` INT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
...
PRIMARY KEY (`id`) USING BTREE,
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB;
Делаю запрос по первичному ключу используя IN:
SELECT id FROM `t1` WHERE id IN (123,2352,2423);
Запрос выполняется очень долго - 3 секунды.
В таком варианте время выполнения аналогично:
SELECT id FROM `t1` WHERE id=123 OR id=2352 OR id=2423;
Если же пробовать выполнить запрос
SELECT id FROM `t1` WHERE id>2352 AND id<2362
то результат получаю мгновенно.
Почему с параметром "IN" запрос по первичному ключу такой долгий? В mySQL с аналогичными параметрами сервера и настроек таких проблем не возникало.