- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Magisk
- One mobilszolgáltatások
- Samsung Galaxy Ring - gyűrű-kúra
- Samsung Galaxy S25 Edge - a tegnap határán
- Motorola Edge 40 - jó bőr
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Sony Xperia 1 V - kizárólag igényeseknek
- Fotók, videók mobillal
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
Új hozzászólás Aktív témák
-
cucka
addikt
Egy ilyen sql-el érdemes elindulni:
select events.* from events where users_id in (select friend_id from relations where users_id={$user_id}) order by dateofcreation ascAz in()-ben található lekérdezés kiszedi a $user_id-hez tartozó barátok azonosítóját (ide php-ban be kell helyettesíteni a $user_id változót. A külső lekérdezés meg egyszerűen listázza az events táblát, leszűrve a megfelelő felhasználói azonosítók szerint. Ha a barát adataira is szükség van, akkor bejoin-olod a users táblát is és kész.
A te php-s megoldásod annyi soron megy végig, amennyi a userek és a relációk számának szorzata, tehát az algoritmusod négyzetes.
Ebben az sql-es megoldásban a belső lekérdezés csak egyszer fut le és az index miatt logn időben végez, a külső lekérdezés pedig végigfut az összes soron, de egy index létrehozásával ezt szintén meg tudja oldani logn időben.
Gondolatkísérlet: tegyük fel, hogy nő az oldalad látogatottsága. Tegyük fel, hogy az eredetihez képest tízszer annyi felhasználó van, ami mondjuk húszszor annyi relációt jelent. Ez esetben:
- az én lekérdezésem nagyjából ugyanannyi idő alatt végez a kereséssel, mint előtte
- a te php-s megoldásod 200-szor () annyi műveletet fog végezni, mint előtte
Új hozzászólás Aktív témák
- Ventillátorok és tápkábel modding kitűnő árakon! Most extra 10% kedvezmény!
- ASUS X540SA-XX004D Notebook - 4 napot használt
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
- Xiaomi Redmi Note 14 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! GIGABYTE AORUS ELITE Z790 i7 14700K 64GB DDR5 1TB SSD 7900 XTX 24GB be quiet! SB 802 1000W
Állásajánlatok
Cég: FOTC
Város: Budapest