Mysql ускорение выборки и ORDER BY по полям связанных таблиц
Подскажите какие идеи могут быть по ускорению этого селекта?
SELECT
work.w_id,
work.fish_id,
work.u_id,
work.loc_id,
work.w_weight,
work.baze_id,
work.w_weight_min,
work.bait_id,
work.w_count,
bait.bait_name,
fish.fish_name,
baze.baze_name,
location.loc_name,
fish_max.fm_weight_max,
fish_max.fm_id,
bait.bait_type,
fish.fish_weight_absolute
FROM work
INNER JOIN fish
ON work.fish_id = fish.fish_id
INNER JOIN bait
ON work.bait_id = bait.bait_id
INNER JOIN baze
ON work.baze_id = baze.baze_id
INNER JOIN location
ON work.loc_id = location.loc_id
INNER JOIN fish_max
ON work.fish_id = fish_max.fish_id
AND work.baze_id = fish_max.baze_id
WHERE work.u_id = 2
ORDER BY fish.fish_name, work.w_count DESC
В двух словах есть таблица work которая хранит в себе записи id полей связаных таблиц "словарей".
В таблице work > 130 000 записей. В остальных до 1000.
При использовании
ORDER BY fish.fish_name, work.w_count DESC
скорость выбора значительно падает из за сортировки по связаной таблице.
Если убрать ORDER BY fish.fish_name, скорость выполнений значительно возврастет с 1,6сек до 0.3, но все равно не сказал бы что моментально. Так же EXPLAIN отображает Using where; Using filesort.