Hirdetés

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

  • pch

    senior tag

    Üdv!
    mariadb 10.9.3 re frissítve a 10.5.8 ról nagyon lelassult a többszörös join lekérdezés.
    Másnál nem fordult elő ez a hiba? -=A lekérdezés 349.2095 másodpercig tartott=-
    Soknak érzem :)

    Tábla méretek: cikktábla: 5930 rekord
    Tétel tábla: 36715 rekord
    Készletfej tábla: 9599 rekord
    Szerintem nem sok.
    Lekérdezés:
    SELECT t5.cikk_id,t4.menny,t4.cikkszam,t4.megnevezes from cikk as t5
    LEFT JOIN
    (
    SELECT tetel.cikk_id,SUM(IF(tetel.tetel_id < COALESCE(t2.setid, 0),0,IF(tetel.mozgasnem < 200, tetel.menny, 0 - tetel.menny))) AS menny ,cikk.cikkszam , cikk.megnevezes
    FROM keszletfej,cikk,tetel
    LEFT JOIN
    (SELECT cikk_id, MAX(tetel_id) AS setid
        FROM tetel
        WHERE mozgasnem = 100
        GROUP BY cikk_id
    ) AS t2

    ON (tetel.cikk_id = t2.cikk_id)
    WHERE
     keszletfej.teljesites<='2022-11-05'
     AND cikk.cikk_id=tetel.cikk_id
     AND keszletfej.keszletfej_id=tetel.keszletfej_id
     AND cikk.keszletre='i'
     AND cikk.status='aru'
    GROUP BY tetel.cikk_id
    ORDER BY tetel.cikk_id
    ) AS t4
    ON t4.cikk_id=t5.cikk_id
    WHERE t4.menny<>0

    Cikk tábla ami releváns (cikk_id, cikkszam, megnevezes, keszletre, status)
    Készletfej tábla (keszletfej_id, teljesites)
    Tétel tábla (tetel_id, keszletfej_id, cikk_id, menny, mozgasnem)
    Mozgásnem: Ha 200 alatt van akkor beszerzés ha 200 felett akkor értékesítés ha 100 akkor nyitó azaz akkor onnantól annyi a készlet.
    Ezzel a lekéréssel az összes cikk készlete kellene aminek a mennyisége nagyobb mint 0.

    Van ötletetek mi lehet a hiba, vagy tudtok valamit mi változott?
    Már kezdek megőrülni lassan egy hónapja sz@p@k vele :(

    Köszi!

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