- Pajac: tpm.msc
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- Szevam: „Rendszerleállás” – egy AI képzeletbeli halál utáni élménye
- Parci: Milyen mosógépet vegyek?
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
Ú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
Hirdetés
- PlayStation 5
- Autós topik
- LEGO klub
- Honor Magic6 Pro - kör közepén számok
- Otthoni hálózat és internet megosztás
- Megjelent a Poco F7, eurós ára is van már
- Milyen HASZNÁLT notebookot vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Xbox tulajok OFF topicja
- További aktív témák...
- ZBook Power 15 G10 15.6" FHD IPS i7-13800H RTX A500 32GB 512gb NVMe ujjolv gar
- Újszerű HP Pavilion 14-ec0004nh - 14"FHD IPS - Ryzen 5-5500U - 8GB - 512GB SSD - Win11 - MAGYAR
- Noblechairs HERO, 1 hetet használt irodai/gamer szék
- Fuji X-S20 2.5 év gari + 18-120 f4 + 33 f1.4 + 25 f1.8
- Inspiron 5406 2-in-1 14" FHD IPS érintő i5-1135G7 16GB 512GB NVMe magyar vbill ujjolv aktív toll gar
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Gamer PC Számítógép! I5 12600KF / RTX 3070 / 32GB DDR4 / 512GB SSD
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B450 TomaHawk R5 3600 16GB DDR4 512GB SSD RX5500 XT 8GB Rampage SHIVA TT 530W
- Apple Watch SE 2 44mm, Újszerű, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged