ChrisB: GROUP BY und nicht aggregierte Spalten

Beitrag lesen

Hi,

Sie können und tun, wenn der Nutzer (bzw. Administrator) das will:
http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_only_full_group_by

nein, sie können es nicht. entweder sie gewinnen an performance, dann können sie es nicht prüfen. oder aber sie stellen es nach ansi um, aber dann ist der performance vorteil auch weg, beides geht nicht.

Irgendwie reden wir hier aneinander vorbei, glaube ich.

ich denke, es macht keinen sinn, sich an dem "should" zu hängen. fakt ist, sie können es nicht prüfen. und fakt ist, es macht keinen sinn, sich zufällig werte zurück geben zu lassen, wenn man sich nicht dran hält.

Ja - das ist aber dein eigenes Risiko als Nutzer.

Wenn du von deinem Datenmodell her ganz sicher *weisst*, dass die Einträge eindeutig sind - dann kannst du dir von denen einen „zufälligen“ zurückgeben lassen, und die DB-Engine kann an der Stelle ein wenig Performance einsparen.

würden sie es prüfen können, ohne den performace vorteil wieder zu verlieren, dann würden sie es auch ganz explizit verbieten.

Wie gesagt, mit obiger Option kannst du es ganz explizit verbieten *lassen* - dann ist SQL-Standard angesagt diesbezüglich, und die Abfrage von Spalten, die nicht Teil der Gruppierung sind, wird mit einer Fehlermeldung abgewiesen.

MfG ChrisB

--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]