вместо индекса для каждого столбца, где убедитесь, что у вас есть составной индекс, который охватывает все столбцы, где
например,
create index idx1 on files_table (application_id, project_id,is_last_version,temporary,deleted_by)
избегать предложения IN для одного значения use =для этих
SELECT `f`.*
FROM `files_table` `f`
WHERE f.`application_id` = 6
AND `f`.`project_id` = 130418
AND `f`.`is_last_version` = 1
AND `f`.`temporary` = 0
AND f.deleted_by is null
ORDER BY `f`.`date` DESC
LIMIT 5
столбец даты или других в select может быть полезен для извлечения всей информации, используя индекс и избегая доступа к данным таблицы ... но для выбора всех (select *) вам, вероятно, понадобятся столбцы severlтогда доступ к данным таблицы будет выполнен, однако ... но вы можете попытаться оценить производительность ..
Будьте осторожны, чтобы поместить данные, не относящиеся к тому, где, справа от всех столбцов, к которым относится
create index idx1 on files_table (application_id, project_id,is_last_version,temporary,deleted_by, date)