| From: | "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com> |
|---|---|
| To: | pgsql-de-allgemein(at)postgresql(dot)org |
| Subject: | Re: JOIN Performance |
| Date: | 2007-07-16 13:04:23 |
| Message-ID: | 20070716130423.GB23885@a-kretschmer.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-de-allgemein |
am Mon, dem 16.07.2007, um 14:41:41 +0200 mailte Michael Prochaska folgendes:
> jetzt hab ich noch was vergessen :-)
>
> ist es besser gleich alle felder mit * zu selektieren wenn man sowieso
> fast alle braucht, oder bringt jedes feld das man weniger selektiert mehr
> performance?
zweiteres. Wenn Du mit * arbeitest und eines Tages die Tabelle um ein
BLOB mit 10 GByte Daten erweiterst, welches Du aber nicht brauchst im
Resultat einer speziellen Abfrage, wirst Du das merken...
> > um dann die virtuelle tabelle kunden zu bekommen, brauche ich also 2
> > verschachtelte inner joins:
> >
> > SELECT * FROM (kunden INNER JOIN personen ON kundenid = personenid WHERE
> > name='rudi') INNER JOIN subjekte ON personenid=subjektid;
Du willst, um eine 'virtuelle tabelle' kunden zu bekommen, diese selbst
abfragen? Versteh ich grad nicht...
Davon abgesehen scheint mir die Syntax falsch zu sein.
select * from (select * from kunden inner join personen
on(kunden.kundenid = personen.personenid) WHERE name='rudi')foo INNER
JOIN subjecte ON personenid=subjektid;
> > soweit ich weiß gibt es für JOINS ja mehrere möglichkeiten (z.B. nur mit
> > WHERE)...passt mein ansatz, oder gibt es bez. performance einen besseren
> > ansatz?
Die Antwort liefert Dir EXPLAIN.
Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
| From | Date | Subject | |
|---|---|---|---|
| Next Message | A. Kretschmer | 2007-07-16 13:51:40 | Re: JOIN Performance |
| Previous Message | Michael Prochaska | 2007-07-16 12:41:41 | Re: JOIN Performance |