@nsrwork

Как влияет на производительность параметр group_concat_max_len?

В функции group_concat нет ограничения на выборку limit: https://bugs.mysql.com/bug.php?id=30098.

Вместо этого я ограничил размер group_concat_max_len до 132 символов, этого мне хватает чтобы вставить четыре 32 символьных хеша с запятой в качестве разделителя.

Выглядит вот так:
48c497081507eacd96f7dd383a424f51,0ad3ec30f1e8add18fca67f6e4c81177,9a261ddc794ce63f411b8b775c7d64c6,d103bbb956c675a235c2c8556617519e,


Запрос:
select group_concat(p.hash SEPARATOR  ',') as hashes
from users as u
join photos as p on p.photoable_id = u.id
where p.photoable_type = 'photo'
and p.photoable_id in (...)
group by p.photoable_id
limit 0,40


Собственно вопрос, ограничение group_concat_max_len как то скажется на производительности или mysql все равно сначала получить ВСЕ hash, и уже потом, что получится запихает, а остальное отрежет? У меня выборка hash больше 1000.
  • Вопрос задан
  • 289 просмотров
Пригласить эксперта
Ответы на вопрос 2
Fragster
@Fragster
помогло? отметь решением!
На этот вопрос поможет ответить explain select group_concat_....
Ответ написан
@Fortop
Tech/Team lead
Этот параметр не ограничивает выборку.
Только размер строки в результате объединения.
Ответ написан
Ваш ответ на вопрос

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

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