@ivinnic
Делаю запрос по таблице в которой 100 записей по полю id (PK)
select * from table_name where id = n
и результат 1.8ms — из которых 1ms — это freeing items и cleaning up.
Почему это может происходить, и как можно это ускорить?
Диск ssd nvme; Mysql 8; InnoDB;
Когда необходимо сделать 100 запросов это 100ms, что конкретно чувствуется… нагугить не удалось…
Profile:
Решения вопроса 0
Ответы на вопрос 5
@ThunderCat
@Fragster
К тому же в некоторых библиотеках, вроде бы, можно делать выборку из разных таблиц одним запросом (не джоины и даже не юнионы, а именно несколько запросов через ; ).
Еще такое может быть, если лог файлы забиты, медленные диски и т.п.
Попробуй innodb_flush_log_at_trx_commit = 2
если что — во доки: https://dev.mysql.com/doc/refman/8.0/en/general-th…
@ky0
Когда необходимо сделать 100 запросов это 100ms
Для read-only запросов это так не работает — даже если конкретно эти данные не хранятся в памяти, у вас SSD прекрасно может отдавать данные параллельно.
@BojackHorseman
@rPman
ок, залей нужные id в temporary table и делай from table,temp…