@lightseeker

Почему GROUP BY так медленно выполняется?

Есть запрос, которых выполняется очень долго.
SELECT name, count(*) as similar_names_count
FROM users
WHERE name = ANY('{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}')
GROUP BY name
LIMIT 100;

Я специально добавил несуществующие имена в условие, чтобы исключить вариант медленной работы с множеством строк.
Помогите разобратся пожалуйста
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
phoinixrw
@phoinixrw
Архитектор информационных систем
Что бы понять, почему запрос меденный следует начать с EXPLAIN ANALYZE:
EXPLAIN ANALYZE
SELECT name, count(*) as similar_names_count
FROM users
WHERE name = ANY('{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}')
GROUP BY name
LIMIT 100;


И показать результат, либо самому увидеть, что по полю name делается sec scan и идекса на нем нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы