Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Erklärt: warum kein SELECT * FROM ... verwenden

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von akretschmer, 11 Januar 2013.

  1. akretschmer

    akretschmer Datenbank-Guru

    Diesen Hinweis (und man solle stattdessen die Spalten nennen) sieht man oft, aber warum?
    • auch wenn man vielleicht jetzt alle Spalten braucht in der Anwendung: kann man ausschließen, daß nicht später Spalten dazukommen?
    • vermeiden von später schwer zu lokalisierenden Fehlern: falls z.B. mehrere Tabellen via JOIN verbunden sind, und später in einer der Tabellen eine neue Spalte kommt, deren Name aber schon in einer anderen Tabelle vorkommt, wird die Applikation u.U. dann auf eine falsche Spalte zugreifen. Da hat man ganz plötzlich ganz komische Dinge in seiner Anwendung...
    • Optimierung durch die DB: manche Datenbanken wie z.B. PostgreSQL speichern große Werte (TEXT, Binärkram, ...) nicht in der eigentlichen Tabelle, sondern lagern dies aus (TOAST bei PG). Wird die Spalte nicht im Resultset benötigt, kann hier massiv optimiert werden. Andersrum: man fügt später eine 'fette' Spalte an: von nun ab wird bei jeder Abfrage mit 'select *' diese neue Spalte mit abgefragt - um verworfen zu werden.
    Also: select * from ... vermeiden, die kleine Mühe, die benötigten Spalten zu nennen, lohnt sich!
    (zumindest in produktivem Code)
     
    RedFerret und Walter gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden