Mailinglisten-Archive |
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