Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 23-10-2017, 21:46
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Ich würde das Pferd umgekehrt aufzäumen und fragen, worin der Vorteil von SELECT * besteht.

Es mag situative Anwendungen dafür geben, die meinetwegen auch einsichtig sind, aber ich möchte die These in den Raum stellen, dass ein DB-Schema häufig aus Anwendungssicht doch eher starr ist, weil nicht selten eine Menge Logik sehr eng damit verknüpft ist. Mit Änderungen am DB-Schema sind häufig auch Anpassungen in der Anwendung verbunden, weil etwa Models nach dem DB-Schema angelegt sind und dergleichen.

In solchen Fällen mag SELECT * Schreibarbeit sparen, aber das geht sehr unmittelbar auf Kosten der Nachvollziehbarkeit, weil Felder dann schnell auf magische Weise mit Werten gefüllt werden und etwaige Probleme (neues Feld nicht korrekt durchimplementiert) dadurch verdeckt werden könnten.

Man erzeugt damit einen kognitiven Mehraufwand, weil man es gewissermaßen verhindert, dass das DBMS beim Auslesen gewünschter Felder etwaige Oversights automatisch anmerkt.

Ich würde es vielleicht auch mit INSERT-Queries vergleichen, bei denen man in der Regel auch nicht mit dynamischen/variablen Feldlisten arbeitet.

Geändert von mermshaus (24-10-2017 um 09:49 Uhr)
Mit Zitat antworten