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

  • martonx

    veterán

    válasz Jim-Y #1577 üzenetére

    2013-ban nem illik ilyen old school join-okat csinálni. Írd át modern sql szintaktikára:

    from egytabla t1
    join kettotabla t2 on t1.id = t2.id
    join haromtabla t3 on t1.id = t3.id

    A hiba pedig elég egyértelmű. A három tábla descartes szorzata túl sok sort adna vissza, és (shared hosting környezetben jellemzően direkt) le van korlátozva a mysql memória használata, join-ok mérete.

    Ezt elkerülni úgy tudod, hogy vagy megpróbálod átkonfigurálni a mysql-t, ha nem vagy hosting környezetben akkor ez menni fog.
    Vagy alselecteket használsz, és megpróbálod csökkenteni a join-olt táblák visszaadott sorainak számát. Erre jó lehet akár egy szigorúbb feltételes join is. Az is lehet, hogy az id kapcsolat nem jó, és ez miatt többszörőződik meg indokolatlanul a join.
    Vagy átmész egy rendes hosting-hoz, ahol nincs ilyen korlátozás.

    Én kérek elnézést!

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