Skip to content
Extraits de code Groupes Projets
Valider 4b4a0a24 rédigé par esj's avatar esj
Parcourir les fichiers

La détection des GroupBy superflus mise au point en [5949] pour une...

La détection des GroupBy superflus mise au point en [5949] pour une optimisation colossale (cf [http://article.gmane.org/gmane.comp.web.spip.devel/30555]) ne se faisait plus depuis la 1.9. C'est réparé pour MySQL, mais PG n'en profite pas et c'est en fait la clé (c'est le cas de le dire) de la subtitlité tournant autour de son message agaçant (cf [9831]) demandant systématiquement un GroupBy:  pour y échapper, il ne faut pas utiliser la syntaxe {{{FROM a,b}}} mais {{{a LEFT JOIN b}}} qui n'impose pas de GroupBy (car c'est parfois bien ce qu'on veut, ça vient de m'arriver et tout s'est éclairé).

Le traducteur Mysql->PG ne rajoute plus de GroupBy systématiquement dans le cas d'un LEFT JOIN, ce qui devrait accéléer les qq requêtes les utilisant dans l'espace privé.Mais:

	*  pour l'espace privé, il faudrait examiner ses 600 appels à select voir s'il y a un {{{FROM a,b}} transformable. On laisse tomber, mais il faut à présent y penser quand on écrit des nouveautés.

	* pour l'espace public, il n'y a pas beaucoup d'endroits où on produit cette forme, il faut donc poser la question: est-ce que tous les critères peuvent se compiler par un LEFT JOIN, et sinon qu'est-ce qui caractérise les exceptions ? L'enjeu est important.

Aussi dans ce dépot: traduction MySQL->PG de la fonction CONV (utile pour faire un CAST dans un critère), et prise en compte dès maintenant d'un LEFT JOIN dans les fonctions d'interface, ça servira tôt (le pb du jour) ou tard.
parent f77151b8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Chargement en cours
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter