Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

sagen wir mal ich will eine Datenbanktabelle aufrufen, welche 0,5 mio Eiträge mit ca. 20 Attributen hat.

wieviel zeit spart man, wenn man statt

a) select * from tabelle

B) select atr1, atr2, atr3 from tabelle

verwendet?

Ab wieviel Datenbankaufrufen sollte man unbedingt b Variante verwenden um Zeit und Performance unterschied zu spüren?

Vielen Dank

Geschrieben (bearbeitet)

Hi,

ich behaupte mal, dass du gar nichts sparen wirst, denn das sind beide Full Table Scans, d.h. du rufst jedes Mal jeden Datensatz ab. Solange da keine where Klausel und ein Index existiert, dürfte das beides ähnlich lange dauern (außer vielleicht wenn du ne Ausgabe auf dem Bildschirm hast, der gepuffert werden muss, weil bei dem select *.... ja dann einfach mehr Daten angezeigt werden müssen.)

EDIT: Ok, Letzteres betrifft natürlich auch den Netzwertraffic, wenn es nun 100 Spalten sind und du nur 2 brauchst, ist das natürlich unnötige Last.

Bearbeitet von carstenj
Geschrieben

sorry, habe den Befehl nicht voll ausgeschrieben

where Klausel wäre dabei und würde am ende 0 bis 10 Treffer liefern .

so in etwa:

select atr1, atr2, atr3 from tabelle where id= '1234'.

Geschrieben

... naja, bei bis zu 10 Treffern ist die Datenmenge, die über das Netz geht nicht so groß... abhängig davon, wieviele Spalten du davon hast... eine Selektion auf dei benötigten Spalten macht aber in jedem Fall Sinn, da du ja nur wirklich das lädst, was du auch brauchst. Das Netzwerk wird es dir später danken...

Geschrieben
Ab wieviel Datenbankaufrufen sollte man unbedingt b Variante verwenden um Zeit und Performance unterschied zu spüren?

Unabhängig von der Performance solltest Du in produktivem Code auf SELECT * generell verzichten (außer Du machst das ganz bewußt und bist dir auch im klaren darüber warum), denn wenn sich die Tabelle ändert (neue Spalten etc) werden diese ohne dein Zutun ebenfalls mitselektiert. Wie Dein Programm dann darauf reagiert ist erstmal undefiniert.

Des weiteren wird sofort aus dem Statement ersichtlich, welche Spalten du wirklich benötigst.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...