Индексы
Ваша проблема не в предложении DISTINCT
, а в отсутствии индексов.Предложение DISTINCT
может быть заменено двумя предложениями GROUP BY
, но это, скорее всего, приведет к тому же снижению производительности.
Оператор SQL
SELECT a.rec_type
, COUNT(*) as count_distinct
, a.time_key as hour
FROM (
SELECT a.rec_type
, a.a_tel_id
, a.time_key
FROM v_f_Logicacdrs21 a
GROUP BY
a.rec_type
, a.a_tel_id
, a.time_key
) a
GROUP BY
a.rec_type
, a.time_key