Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- MaxxDamage: Vizes Laptop Hűtés? Lehetséges? Igen!
- sh4d0w: Netflix? Ugyan, VW előfizetés!
- Viber: ingyen telefonálás a mobilodon
- GoodSpeed: Aquaphor Modern víztisztító
- hcl: Kelj fel komám, ne aludjál
Ú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
- Vigneau interaktív lokálblogja
- Szeged és környéke adok-veszek-beszélgetek
- exHWSW - Értünk mindenhez IS
- Milyen belső merevlemezt vegyek?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- BestBuy topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Okos Otthon / Smart Home
- Üzemidőt áldoz a fényerő oltárán a Garmin Fenix 8 Pro
- További aktív témák...
- Nagy Teljesítményű Acer Nitro Gamer Laptop 5 (RTX 3070) - GARANCIÁLIS 2026 VÉGÉIG!
- Asztali PC , i5 8400 , 1660 Super , 16GB DDR4 , 500GB SSD
- Prémium Hordozható Razer Blade Stealth Gamer Laptop 13" Karcmentes Állapotban
- ASUS ZenBook 14 OLED UM3402 - 14" 2.8K OLED 90Hz - Ryzen 7-5825U - 16GB - 1TB - Win11 - MAGYAR
- Eladó AM5 DDR5 Konfig Ryzen 5 8400F 16GB DDR5 512GB SSD RX5700XT 8GB!
- Samsung Galaxy S23 Ultra / 8RAM 256GB / Gyárifüggetlen / 12 Hó Garancia
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- Huawei P Smart 2019 64GB, Kártyafüggetlen, 1 Év Garanciával
- Macbook Pro 2019 // i5 // 1TB // Számla+Garancia //
- Bomba ár! Lenovo ThinkPad T460 - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest