EKKi: PHP MySQL Datenbank durchsuhen

Beitrag lesen

Mahlzeit dedlfix,

Die Ergebnismenge klein zu halten ist ein legitimes Argument, wenn es sich um potentiell große Datenmengen handelt. Ein, zwei überflüssige Spalten mit ein paar wenigen Bytes drin, sind für mich aber kein schlagkräftiges Argument gegen SELECT *.

Dann hast Du noch nie an einem größeren Projekt/Produkt gearbeitet, bei dem viele unterschiedliche Leute auf viele unterschiedliche Arten und Weisen auf viele unterschiedliche Tabellen zugreifen.

Angenommen, es gibt eine relativ zentrale Tabelle, die zu Beginn des Projekts nur wenige Spalten und wenige Datensätze enthält. Angenommen, jemand entwirft also eine Abfrage mit "SELECT *", obwohl er nur 3 der Spalten benötigt ... aber "ist ja legitim" (Stichwort "Tippfaulheit").

Im Laufe dieses Projekts wird diese zentrale Tabelle um mehrere Spalten erweitert und füllt sich mit mehreren zehntausend Datensätzen.

Und irgendwann wird das Statement, das zu Anfang noch legitim war, immer langsamer und la n g  s a    m      ee e e   r ... und irgendwann kackt regelmäßig der Server ab.

Und warum? Nur weil ein Entwickler tippfaul war?

Sorry, aber IMHO ist "SELECT *" NIEMALS legitim. Die Erfahrung habe ich nun schon in mehreren Projekten gemacht. Man weiß nie, wie sich eine Tabelle in Zukunft entwickeln wird und man sollte sich genau deshalb nie darauf verlassen, dass es bei der jetzigen Anzahl an Spalten und Datensätzen bleiben wird.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|