У меня есть таблица с миллионами + строк. У каждого из них есть лицензия №.
. У меня есть запрос, который я сейчас делаю, выполняет группировку по номеру лицензии и сортирует по количеству (Distinct (тип)) и количеству (license_no) и дате.
Все поля с объединениями - license_no или date индексируются. Но у меня уходит 5 секунд, чтобы вернуть результаты.
Как мне повысить производительность. В идеале результаты не должны занимать больше секунды. Запрос:
SELECT `license_no`,
COUNT(DISTINCT(type)) AS gdid,
COUNT(id) AS cdid,
max(updated_on) as maxdate
FROM `mytable`
WHERE `license_no` >0
GROUP BY `license_no`
ORDER BY `gdid` DESC, `cdid` DESC, maxdate DESC LIMIT 12
Logi c Я хочу реализовать:
У меня есть список автомобилей (миллион + записей).
Я хочу найти все уникальные автомобили (уникальные по license_no), отсортированные по:
- license_no с максимальным количеством различных типов
- license_no с максимальным общим количеством
- наконец сортировать отдельные записи по последней дате.