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: | Raw Message | Whole Thread | 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 |