Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Toomy: FOXPOST régen jó volt, de ma már jobban jársz ha elfelejted.
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- MasterDeeJay: i7 4980HQ asztali gépben (vs i7 4770)
- leslieke: leslieke farmerzsebe
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dé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
- ÚJ 3-DBOS CSOMAG: Intel Core Ultra 7 265K + ASUS TUF Z890-PLUS WIFI + MSI MAG CORELIQUID A15 240
- Eladó Mobiltelefon Telefon tulajdonságai : Xiaomi Redmi Note Pro Plusz 14 Kártyafüggetlen 51
- Lenovo ThinkPad P53 i7-9850H 32GB RAM 256GB NVMe Quadro T2000
- HP ProBook 640 G8 laptop, i3-1115G4, ajándék egér és táska
- Lenovo ThinkPad X13 G2 13.3" -50% AMD Ryzen 5 Pro 5650U Hexa-core 16GB 512GB SSD FHD
- GYÖNYÖRŰ iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3959
- Xiaomi 15 / 12/256GB / Kártyafüggetlen / 12Hó Garancia
- Vivo V50 12/512GB,Újszerű,Adatkabel,12 hónap garanciával
- RAKTÁRKISÖPRÉS! Eladó projektorok!
- BESZÁMÍTÁS! ASROCK H510M i5 11400F 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA ADATA 650W
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
) annyi műveletet fog végezni, mint előtte
