У меня есть этот SQL-оператор ниже и возвращает в 0,149 секунд:
SELECT Trans.Transid, TransDetail.TransDetailID FROM Trans
LEFT JOIN TransDetail ON Trans.Reference = TransDetail.TransID
LIMIT 1000
Я изменил, добавив Order By, и он сильно замедляет возврат до 1 минуты 20 секунд
SELECT Trans.Transid, TransDetail.TransDetailID FROM Trans
LEFT JOIN TransDetail ON Trans.Reference = TransDetail.TransID
ORDER BY Trans.Transid, TransDetail.TransDetailID
LIMIT 1000
Это то, что я сделал, но все еще не улучшил скорость:
1.) Добавлен индекс для Trans.TransID, Trans.Reference и TransDetail.TransDetailID
2.) Попытка установить предел равным 1, но все равно возвращается очень медленно
3.) Пробовал делать ORDER BY Trans.Transid и он возвращается через 0,223 секунды
4.) Попытался выполнить ORDER BY TransDetail.TransDetailID, и он возвращается через 48,365 секунд
Выполнение TransDetail.TrasnsDetailID только в Order by выполняется медленнее, чем Trans.TransID. Но выполнение обоих делает это очень очень медленно.
Какой лучший способ сделать заказ, чтобы сделать его быстрее?