phpbar.de logo

Mailinglisten-Archive

friendster, open BC, kontakte 6. Ebene

friendster, open BC, kontakte 6. Ebene

ibekowies at shavingkiwis.de ibekowies at shavingkiwis.de
Fre Feb 11 11:49:31 CET 2005


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