• Hej,

    Nie odbierz tego jako atak – w ?adnym wypadku. To przyjacielski post ?? Chcia?bym zapyta? dlaczego zdecydowa?e? si? na przechowywanie danych w tabeli “wp_postmeta”, zamiast stworzy? now??

    Przy wi?kszej liczbie produktów, tabelawp_postmeta mo?e szybko urosn??, co spowolni dzia?anie sklepu (co w sumie ju? si? dzieje, na etapie analizy cen produktów, która jest uruchamiana po aktywacji wtyczki). Wyszukiwanie i operacje na tak du?ej tabeli staj? si? wolniejsze, a dane s? rozproszone, co nie u?atwia ich przeszukiwania.

    Je?li dane o cenach by?yby przechowywane w osobnej tabeli, zapytania mog?yby by? szybsze i bardziej efektywne. Dodatkowo, ?atwiej by?oby zarz?dza? tymi danymi, bo mogliby?my je przejrzy?cie zorganizowa? w kolumnach. Obecnie wszystkie dane s? w postaci serializownego ci?gu, który jest ma?o czytelny.

    Dodatkowo osobna tabela to ?atwiejsza analiza danych, debugowanie, wi?ksza elastyczno??, mniejsze ryzyko potencjalnych konfliktów z innymi pluginam (meta_key “_wc_price_history” nie jest nazw? nie do powtórzenia).

    Swego czasu w repozytorium by?a wtyczka “perfectwp-wc-omnibus”, która niestety zosta?a usuni?ta. W mojej opinii korzysta?a ona z dobrze przemy?lanej logiki i rozwi?zań, które warto by by?o zaimplementowa?.

    Pozdrawiam,
    Aleksander

Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter BDR Bros.

    (@bdrbros)

    Przyk?adowy scenariusz.

    Mamy w sklepie 100k produktów. Zanim plugin wype?ni baz? pocz?tkowymi danymi i b?dzie mo?na go u?ywa? minie przynajmniej kilka godzin. Tabela wp_postmeta zostanie ju? na start zbombardowana zapychaj?cymi j? rekordami.

    Przed wersj? 2.0 (gdy nie by?o “pierwszego skanowania”), gdy ustawili?my:

    – “Day before product went on sale (excludes promotional price)”
    – “Number of days to use when counting minimal price: 30”

    A nast?pnie ustawili?my promocj?, to jako najni?sz? cen? pokazywa?o aktualn? cen? (cen? promocyjn?), zamiast wcze?niejszej ceny (ceny przed promocj?). Dlatego jak rozumiem stworzy?e? mechanizm, który pobiera wszystkie aktualne ceny produktów po aktywacji pluginu, aby by?o si? do czego odnosi?.

    Czy nie lepsz? logik? by?oby pobieranie starej ceny i timestampa dopiero w momencie edycji ceny (wprowadzania promocji), a nie robienie tego ju? na starcie dla wszystkich produktów?

    Pozdrawiam ??

    Plugin Author kkarpieszuk

    (@kkarpieszuk)

    Hej, dzieki za uzywanie mojej wtyczki.

    Co do decyzji o struktorze danych to tez widze juz ten problem. Niestety gdy tworzylem pierwsza wersje nie wiedzialem jeszcze jakie problemy sie pojawia i ze faktycznie trzeba bedzie skanowac wszystkie produkty na starcie (a musze to robic bo jesli mialo by to byc dopiero na edycji produktu, to nie pojawiala by sie cena po kazdym ze 100k produktow dopoki ktos nie bedzie edytowal kazdego z tych 100k produktow)

    Na pewno przyszle wersje wtyczki beda korzystac z wlasnych tabel i bedzie mechanizm migracji starej struktury z post_meta

Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.