Hirdetés

Keresés

Hirdetés

CyberSecurity Connect - blended learning, valódi labor kísérletezésre. Kiberbiztonsági képzés profiktól!
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)

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

  • Taci

    addikt

    válasz nyunyu #5047 üzenetére

    Most (utazás után, de még pár hétig nem otthon) volt egy kis időm jobban átolvasni és értelmezni, amit a 3 tábláról írtál. Teljesen jól érthető, köszönöm. Pár részlet még nem világos benne, de azoknak utánajárok.

    Illetve 1 dolgot mégis kérdeznék a kódoddal kapcsolatban:
    where c.name like '%akármi%'
    Ha úgy csinálom, ahogy mondod, és ha 1 terméknek 3 kategória, és így 3 külön rekord a product_category-ban, akkor itt nem kellene már LIKE-ot használnom sem, hiszen rekordonként csak 1 kategória lenne. Szóval ez akkor lehetne inkább:
    where c.name = 'akármi', nem?
    (Több kategóriára szűrésnél meg valami ilyemi:
    where c.name = 'akármi' 
    or c.name = 'akármi1'
    or c.name = 'akármi2'
    Javítsatok ki, ha tévedek, kérlek.)

    És ha jól értem, ugye azt írod, hogy csináljak egy product_category táblát, amibe úgy kerülnének bele a rekordok, hogy ha a fő táblámban (product) mondjuk van 2 millió rekord, és mindegyikhez tartozik 2-4 (átlagban 3) kategória (category). Akkor e szerint a product_category táblában jelen állás szerint 6 millió rekord lenne.

    Ez tényleg gyorsabb, mint a 2 milliós? Bár gondolom, erre is írta tm5 a redundanciát (ha nem, kérlek írd meg, mire).
    Meg hát ugye azt is írtátok, hogy LIKE-nál az egész adatbázist átnézi, nem számít az indexelés és semmi, szóval az mindenképp lassú.

    Na ezt nem kis idő lesz így átírnom. Mielőtt nekikezdek: ezt az utat javasoljátok akkor?
    - Külön tábla a kategóriáknak.
    - Külön tábla a termékek és kategóriák kapcsolatának.
    - Lekérdezés előtt (már ahol aktív a kategóriára való szűrés) JOIN.

    Köszönöm.

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