2 votes

L'augmentation de group_concat_max_len à 500000 causera-t-elle un problème de performance ?

J'ai installé mysql 5.6.

J'ai une requête qui utilise group_concat pour concaténer une liste d'identifiants d'utilisateurs en une seule chaîne avec ','. J'ai besoin d'augmenter la limite de group_concat_max_len à 500000.

Est-ce que cela va causer un problème de performance ? Pourquoi group_concat est limité en premier lieu ? Est-ce que je dois interroger chaque ligne et les concaténer sur le serveur ?

toute information concernant ce problème serait grandement appréciée.

1voto

ufk Points 4939

La documentation indique que The result is truncated to the maximum length that is given by the group_concat_max_len system variable, which has a default value of 1024. The value can be set higher, although the effective maximum length of the return value is constrained by the value of max_allowed_packet.

donc augmenter group_concat dans tant de pourcentage ne semble pas être la bonne décision d'abord, cela signifie changer d'autres variables du système qui peuvent affecter le système de différentes manières

En plus de cela, c'est un très gros projet qui n'a qu'une seule requête group_concat, donc je ne veux pas modifier d'autres variables système uniquement pour une requête spécifique.

et en général ce que @Strawberry a dit est correct, la valeur est fixée à 1024 par défaut. probablement pour une bonne raison.

donc j'ai divisé ma requête en deux requêtes

la première renvoie toutes les données dont j'ai besoin en dehors de la colonne group_concat

la seconde, renvoie toutes les lignes pertinentes que j'ai utilisées pour grouper_cocat.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X