Új hozzászólás Aktív témák

  • sky77

    aktív tag

    válasz jeszi #39 üzenetére

    Küldtem választ, de ide is leírom, biztos, ami biztos.
    Szerintem, ha mondjuk left join-nal egy egyértelmű megfeleltetést tudsz felállítani a táblák között, kisebb adathalmazból fog dolgozni a select, így van rá esély, hogy gyorsabb lesz, ugyanis

    select * from a,b
    visszaadja az összes olyan elemet, ami mind a-nak, mind b-nek halmaza, úgy, hogy b összes eleméhe rendeli a összes elemét. Így aztán a where feltétel egy adott esetben akár óriási adathalmazból választja ki azokat a sorokat, akik a kitételnek megfelelnek.
    Ha pl így oldod meg:
    select * from a
    left join b on b.x=a.x

    tehát már az összekapcsolásban szerepel a ''where feltétel'', eleve kisebb adathalmazt kapsz, amit nem is kell tovább szűkíteni.
    Próbáld meg így, hátha segít valamicskét. Addig is nézegetem a kódot, ha időm engedi.


    Szerk.: Lehet, hogy célszerű lenne, ha kevesebb adatot hozna a select, így nem kéne annyi táblát összekapcsolni, s a bővebb információk csak akkor kerülnének lekérdezésre, ha a felhasználó úgy kívánja (pl. gombnyomásra). Már ha a feladat engedi, persze.

    [Szerkesztve]

    ''Emberek, vessetek a mókusok elé!''

Új hozzászólás Aktív témák