Re: JOIN Performance

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

In response to

Responses

Browse pgsql-de-allgemein by date

  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