![]() |
![]() ![]() |
![]() |
![]()
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ż. -------------------- |
|
|
![]()
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. |
|
|
![]()
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
![]() -------------------- |
|
|
![]()
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. -------------------- |
|
|
![]()
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ć
![]() 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 ![]() ![]() -------------------- |
|
|
![]()
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 ?
-------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
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
![]() Ps.Każdemu dam pochwałe ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 14:58 |