phpbar.de logo

Mailinglisten-Archive

AW: AW: Joins auf die gleiche tabelle

AW: AW: Joins auf die gleiche tabelle

Ralf Eggert mysql-de_(at)_lists.bttr.org
Thu, 22 Nov 2001 14:59:08 +0100


Hi,

>Tabelle Mitglieder (vereinfacht dargestellt):
>-----------------
>ID           LONGINT PRIMARY KEY NOT NULL,
>NAME         VARCHAR,
>VORNAME      VARCHAR,
>STRASSE      VARCHAR,
>ISTVATER     BOOLEAN,
>ISTSOHNVON   LONGINT

Sollte dies die Tabelle sein, koennte man das doch auch in einer Query
machen.

SELECT a.name, a.vorname, a.strasse, b.vorname
FROM mitglieder AS a, mitglieder AS B
WHERE a.id = b.istsohnvon
AND a.istvater = TRUE

Dann solltest du eventuell noch einen Index auf "istsohnvon" legen.
Eventuell auch einen kombinierten auf "id" und "istsohnvon" und das mal
mit EXPLAIN austesten, welcher besser ist.

Je nachdem, wieviele Mitglieder du in etwa erwartest, wuerde ich bei
der Definition der Tabelle fuer "id" und "istsohnvon" eher zu SMALLINT
raten, da die als UNSIGNED bis zu 65535 Eintraege aufnehmen kann.
Solltest du mehr Mitglieder in der Tabelle haben, dann nimm MEDIUMINT.

Gruss,

        Ralf

-- 
__________________________________________
 In-Greece.de - die Griechenlandcommunity
_______ http://www.in-greece.de/ _________

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive