PHP Forum: phpforum.de

PHP Forum: phpforum.de (http://phpforum.de/forum/index.php)
-   PHP Wiki (http://phpforum.de/forum/forumdisplay.php?f=92)
-   -   Standardantwort zu SELECT * (http://phpforum.de/forum/showthread.php?t=284580)

Marc Ermshaus 17.06.2017 21:50

Standardantwort zu SELECT *
 
Beim Einsatz von SQL-Datenbanken sollte das Abrufen aller Spalten eines Datensatzes per SELECT * vermieden werden. Stattdessen sollten die gewünschten Spaltennamen explizit aufgelistet werden (SELECT col1, col2 FROM …). Einige Vorteile:
  • Häufig werden in einer Abfrage nicht alle Spalten benötigt, die aktuell existieren oder in Zukunft existieren könnten, sodass unnötige Daten übertragen werden.
  • Bei expliziter Angabe der gewünschten Spalten können Datenbanksysteme unter Umständen Indizes zur Beantwortung von Abfragen nutzen.
  • Eine Auflistung der Spaltennamen macht den Code verständlicher, da die Tabellenstruktur nicht erst im Datenbankschema nachgelesen werden muss.
  • Bei Änderungen am Datenbankschema (etwa bei Entfernung oder Umbenennung einer Spalte) schlägt eine Query, die kein SELECT * nutzt, sofort fehl. Das ist hilfreich, da so keine Stelle im Code übersehen werden kann, an der wahrscheinlich auch die PHP-Datenstrukturen an das neue Schema angepasst werden müssen.

Unproblematisch ist der Einsatz des Sternchens in SELECT COUNT(*).


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:38 Uhr.

Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.