Mailinglisten-Archive |
Hallo, du meinst eine Beziehung mit einer niedrigeren Distanz? Also zur Zeit fange ich einfach von unten an: Ich habe die Tabellen der Personen[T1], der 2er-Kontakte[T2] und der 3er-Kontakte[T3] A - Person 1 G - Gesuchte Person J - Join 1 Select: Test auf direkten Nachbarn (1. Ordnung) 2. Select: Test auf 2. Ordn. in T3 (A-X-G) 3. Select: Test auf 3. Ordn. in T3 und T2 (A-X-J und J-G) 4. Select: Test auf 4. Ordn. in T3 und T3 (A-X-J und J-X-G) 5. Select: Test auf 5. Ordn. in T3, T3 und T2 (A-X-J, J-X-J2 und J2- G) und wenn sich bis dahin immer noch nicht gefunden hat: 6. Select: Test in T3, T3 und T3 (A-X-J, J-X-J2 und J2-X-G) Alles in allem gesehen ist das recht schnell (ca. 0.3 Sekunden auf 1.3GHZ Rechner und 256MB RAM) - aber ich weiss nicht wie es sich verhaelt wenn jemand mal 100 Kontakte hat zu Personen die auch ueberdurchschnittlich viele Kontakte haben - das steigt denn ja exponentiell an. Das langsamste ist hierbei ja die Disk-IO (Die Tabelle T3 passt irgendwann auch nicht mehr ins RAM des Servers). Aber diese Zeiten sind noch viel zu langsam.. ich kann ja nicht fuer 3 konkurierende Anfragen einen Datenbank-Slave bereithalten. Auch habe ich noch nciht untersucht wie hoch der Pflegeaufwand von T3 ist, wenn ein Kontakt hinzugefuegt oder weggenommen wird. Ich glaube das ganze ist ein Holzweg. Kennt nicht jemand zufaellig einen Programmierer von openBC, der mir einen Tipp geben kann? :) Viele Gruesse, ILja On 11 Feb 2005 at 8:29, Sebastian Mendel wrote: > ibekowies at shavingkiwis.de schrieb: > > Hallo, > > > > Hier ist der Stand der Dinge bei meinem rumprobieren: > > > > ich nehme alle Kontake und deren Kontake und baue daraus ein Tabelle > > mit Triples, also P1->P2->P3, wobei die ID von P1 hier kleiner als > > die von P3 ist, damit ich nur ein richtung speichern und abfragen > > muss. > > mhm, und bei einer Kette wie: P1 -> P4 -> P8 -> P3 -> P7 ??? > > > -- > Sebastian Mendel > > www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com > www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet > > -- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > > -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive