Здравствуйте, столкнулся с проблемой медленной обработки sql запроса
SELECT * FROM searchhistory ORDER BY data_time DESC LIMIT 10
Этот запрос выводит историю последних 10 поисковых запросов посетителей.
Таблица searchhistory содержит в себе 370 тысяч строк. Я посмотрел лог медленных sql запросов и увидел, что этот запрос обрабатывается больше двух секунд, а учитывая что сайтом пользуются очень много людей это приводит к тому, что нагрузка на процессор увеличивается до 95-100%.
Time: 2020-09-30T07:59:51.473013Z
# User@Host: user[user] @ localhost [127.0.0.1] Id: 61686
# Query_time: 2.624069 Lock_time: 0.000058 Rows_sent: 10 Rows_examined: 370071
SET timestamp=1601452791;
SELECT * FROM searchhistory ORDER BY data_time DESC LIMIT 10;
Не подскажите как оптимизировать этот запрос? Может как-то его кешировать?