Hirdetés

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

  • Rolly

    veterán

    válasz sonar #1584 üzenetére

    a folyamat az alábbi

    -- termék lista frissítés --
    1.) letöltöm a csvt (20-30.000 sor pl az egy beszállító adatbázisa)
    2.) soronként md5 hasht generálok
    2.a.) ha a sor md5 hash-ét megtalálom a dbben (SELECT) akkor nem csinálok semmit mert az a sor az adatokkal már szerepel
    2.b.) ha a sor md5 hash nem szerepel az adatbázisba akkor lekérem a cikkszám szerint a terméket
    2.b.I.) ha megvan a termék cikkszám szerint (UPDATE) és az md5 hasht is frissítem
    2.b.II.) ha nincs meg a termék (INSERT)
    3.) az összegyűjtött md5 hash-en kívüli termékeket inaktiválom (mert a lista mindig tartalmazza az összes elérhető terméket (de néha ki be kerülnek termékek + seo szempontból a nem kapható termék is google találat :) ráadásul igen elöl ... ehhez meg az ügyfél tud megadni alternatív termékeket melyre az ügyfél át tud ugrani...

    -- kategória frissítés --- (az ügyfél kérése, hogy minden kategóriában megjelenjen, hogy hány termék van és csak az a kategória legyen amiben van termék)
    4.) lekérdezem az összes kategóriát ami egyik kategóriának se a szülője (azaz a leveleket) (SELECT)
    5.) végig járom a leveleket majd a szülőiket berakom a tömbbe ha még nincsenek ha vannak akkor összeadom az adott kategória elem számát a szülőjével ... azaz egy fabejárást csinálok, és minden kategóriát csak egyszer frissítek mikor már kiszámoltam a kategóriák elemszámait ...
    6.) egyesével lefrissítem a kategóriák elemszámát... Ez a lassú :( pedigg a fenti query fut le ... most annyit raktam még bele, hogy

    UPDATE webshop__category
    SET productnumber = ".$numCount."
    WHERE id = 10370
    AND productnumber != ".$numCount

    Így csak akkor updatel amikor valóban változott a product number ... Ma kiderül mennyivel jobb a helyzet ...

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