Ilja: select * und group by

Beitrag lesen

yo,

will mich mal kurz einklincken in die diskussion...

ich sehe es wie dedlfix, "werkzeuge" wie das * sollte man nicht grundsätzlich verteufeln. es hat die funktion immer alle spalten anzuzeigen. und genauo dort, wo dieser effekt erwünscht ist, genau dort macht es auch sinn, das zu tun, aber auch nur dort. das kann unter anderem auch im produktiveinsatz sein, wenn eben genau dieser effekt benötigt wird.

auf der anderen seite sehe ich das wie Rouven, es nicht dort einzusetzen, wo ich es nicht unbedinkt brauche. das argument, dass sich die zeiten geändert haben und speicherplatz/performance heute nicht mehr so ein problem ist wie früher, solange keinen spalten ala BLOB eingesetzt werden, das hinkt ein wenig. ich kann ja zum beispiel gar nicht sicher stellen, dass in der zukunft dort keine BLOB spalte sein wird.

ergo, spalten immer benennen, wo ich immer nur bestimmte spalten brauche, das * immer dort einsetzen, wo ich immer alle spalte benötige (testzwecke mal ausgenommen oder ad hoc abfragen).

was die standartisierung des sql betrifft, so gibt es natürlich dbms spezifische dialekte, die vom standard abweichen. aber das ist noch lange kein grund, immer mehr davon abzuweichen, ist sollte es nach möglichkeit vermeiden. realtionale dbms konnten sich eben unter anderem genau deswegen durchsestzen, weil sie enien standard in ihrer kommunikatinsprache haben.

was das verwenden von GROUP BY unter mysql betrifft, so ist es ein abwägen der vor und nachteile. und für mich überwiegen die nachteile dabei. ich würde mysql dazu raten, sich wieder an den standard zu halten.

Ilja