From: | Michael Prochaska <michael(at)prochas(dot)net> |
---|---|
To: | "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com> |
Cc: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: [pgsql-de-allgemein] viele kleine queries vs wenige große queries |
Date: | 2008-03-17 15:53:18 |
Message-ID: | 47DE93EE.7040307@prochas.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
> Ich übersetz mal, Beispiel eine Rechnungs-Anwendung mit Rechnungskopf
> und Positionen: (ich hoffe, ich hab dich richtig verstanden)
>
>
> 1) 2 kurze 'select * from rechnung_kopf' und 'select * from
> rechnung_position' und prüfe dann in der Anwendung, welche Positionen
> zur Rechnung 4711 gehören
>
> 2) ein langes select 'select a.datum, a.adresse, b.position, b.artikel,
> b.preis from rechnung_kopf a left join rechnung b on
> a.nr=b.rechnung_nr where a.rechnung_nr = 4711;'
>
>
> Zur wahrscheinlich Deiner Verwunderung wird 2) nicht nur erheblich
> schneller ausgeführt (bei bassenden Indexen), sondern es ist auch der
> Aufwand zur Übertragung der Daten übers Netz deutlich geringer, Du hast
> weniger Arbeit in der Applikation und Du schonst die Platten des
> DB-Servers. Klingt lustig, ist aber so.
>
>
>
> Fall ich Dich falsch verstanden habe, sorry. Vielleicht schilderst Du
> mal besser, was Du planst.
>
> PS.: EXPLAIN kennst Du?
>
>
ich habe alles was mit personen zu tun hat (personal, kunden,....) in
subjekte (adresse, bankverbindung,....), personen (namen,...),
firmen(bezeichnung), personal, kunden, usw aufgeteilt...weiters habe ich
eine auftragstabelle und eine rechnungstabelle....dazwischen habe ich
noch diverse zwischentabellen um kunden bzw. personal mit aufträgen zu
verknüpfen.
wenn ich jetzt z.B.: alle daten für eine rechnung brauche, dann muss ich
da ganz schön herumjoinen.
es gibt dann z.B: auch die möglichkeit das die rechnung an eine firma
geht, es allerdings eine person als ansprechperson gibt.
wenn der rechnungsempfänger (die person) keine adressdaten hat, dann
muss ich die adressdaten des rechnungsträgers (der firma) nehmen.
daher meine frage: vereinzelt infos holen um entscheidungen treffen zu
können und dann dementsprechend nur daten holen die ich auch brauche,
oder alles in einem riesigen join holen und dann nur das verwenden was
ich brauche.
ich hoffe es ist jetzt klarer....
mfg,
michael
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Kretschmer | 2008-03-17 19:26:46 | Re: Re: [pgsql-de-allgemein] viele kleine queries vs wenige große queries |
Previous Message | Michael Renner | 2008-03-17 15:36:54 | Re: [pgsql-de-allgemein] viele kleine queries vs wenige große queries |