Einfache Frage bzgl. Performanz

06/10/2008 - 09:45 von Robert Schneider | Report spam
Wenn ich ein Select ausführe und mich interessiert eigentlich nur eine
Spalte, ist es da günstiger 'Select * From <tabellenname>' aufzurufen oder
'Select <spaltenname> From <tabellenname>'? Klar ist mir, dass bei * mehr
Daten übertragen werden. Aber ich könnte mir vorstellen, dass dann die DB
vielleicht nichts filtern muss und sie somit doch schneller die Zeilen
liefert. Wie schaut's nun aus? Was ist schneller/besser?

Robert
 

Lesen sie die antworten

#1 Hannes Brunner
06/10/2008 - 10:57 | Warnen spam
Hallo Robert,

Robert Schneider schrieb:
Wenn ich ein Select ausführe und mich interessiert eigentlich nur eine
Spalte, ist es da günstiger 'Select * From <tabellenname>' aufzurufen oder
'Select <spaltenname> From <tabellenname>'? Klar ist mir, dass bei * mehr
Daten übertragen werden. Aber ich könnte mir vorstellen, dass dann die DB
vielleicht nichts filtern muss und sie somit doch schneller die Zeilen
liefert. Wie schaut's nun aus? Was ist schneller/besser?



der Unterschied in Bezug auf die CPU-Auslastung dürfte im Rauschen
untergehen. Was dagegen Zeit kostet sind, wie von dir schon erkannt, die
zu übertragenden Daten und vor allem auch die Festplattenzugriffe.

Ich würde also auf alle Fàlle 'SELECT <Feldliste> ...' verwenden (ist
auch besserer Stil) und mir mehr Gedanken über die WHERE-Klausel machen.

Gruß
Hannes

Ähnliche fragen