Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wspólni Znajomi
frytek92
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 9.11.2007
Skąd: Goleniów

Ostrzeżenie: (0%)
-----


Witam

Od niedawna kłopocze mnie pewna myśl jak jest wykonana opcja wspólni znajomy obecna między innymi na nasza-klasa czy facebook. W jaki sposób wykonane są tam tabele ze system wyszukuje wspólnych znajomych rozumiem przy 100 użytkownikach to da rade łaczyć i szukać ale jak to możliwe przy 10 milonach !

Prosze o odpowiedż.


--------------------
Go to the top of the page
+Quote Post
Skie
post
Post #2





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Osobna tabela np. "Znajomi" z 3 polami - ID, osoba1, osoba2 z indeksowaniem osoba1 i osoba2 + jakieś porządne cache do tego. Można to zrobić np. na plikach tekstowych lub XML tak że baza nie będzie musiała być w ogóle ruszana (ew. dla bezpieczeństwa danych, kasowanie tych plików raz na dzień przez system).


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
frytek92
post
Post #3





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 9.11.2007
Skąd: Goleniów

Ostrzeżenie: (0%)
-----


I Ta Tabela Kiedy Jest Aktualizowana Raz NP.Dziennie przez serwer czy przy dodadniu usera do listy znajomych questionmark.gif?


--------------------
Go to the top of the page
+Quote Post
vokiel
post
Post #4





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Tylko wspólni znajomi?
Pobierasz listę znajomych dla zalogowanego i dla wybranego znajomego, porównujesz obie tablice. Albo nawet w jednym zapytaniu - ale to zależy od struktury bazy.

Trudniejsza, moim zdaniem, jest opcja "osoby, które możesz znać", tu trzeba przejrzeć listy znajomych znajomych zalogowanej osoby, wyszukać te, które występują więcej niż x razy i je zaproponować. Ew. można poszukać odpowiednich algorytmów typu "przeszukiwanie wszerz" czy inne operujące np na grafach.


--------------------
Go to the top of the page
+Quote Post
frytek92
post
Post #5





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 9.11.2007
Skąd: Goleniów

Ostrzeżenie: (0%)
-----


Faktycznie osoby które możesz znać znać ale mysle ze to na tej samej bazie wspólni znajomi czyli daja like i gdzie bedzie najwiecej zwrotów tam daja osoby które możesz znać haha.gif tak to umyśliłem

Jeżeli zle mysle to prosze poprawcie mnie a oto moje kolejne pytanie zeby nie zaczynac nowego tematu ;D

Załózmy ze chce stworzyć pętle w php oparta na mysql i mam np.100 000 wyników i teraz do kazdego uporządkuje np mam 100 000 użytkowników i stworze $user['1'],$user['2'] i tak do tysiaca czy to ostro zamuli skrypt jezeli wywował tylko 10-20 wyników questionmark.gifquestionmark.gif


--------------------
Go to the top of the page
+Quote Post
krowal
post
Post #6





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


A po co wyciągać 100000 rekordów a później korzystać tylko z 10 ? nie lepiej skorzystać z LIMIT ?
  1. SELECT * FROM tabela LIMIT 30,40;


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
frytek92
post
Post #7





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 9.11.2007
Skąd: Goleniów

Ostrzeżenie: (0%)
-----


Własnie o to mi chodziło smile.gif Dziekuje i uważam temat za zamknięty

Ps.Każdemu dam pochwałe smile.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:58