První , někdy tento model velmi usnadňuje dotazování na data. Před pár dny jsem položil otázku zde a někteří uživatelé navrhovali, proč jsem nezměnil svůj model na formulář 1NF, abych usnadnil dotazování na data. Teprve když si uvědomili, že jsem uvízl v tomto designu, poskytli nějaké odpovědi na otázku. Jde o to, že jsem měl to štěstí, že jsem měl k sečtení pouze 12 sloupců; jinak, kdyby moje tabulka obsahovala 300 sloupců, snad se žádný uživatel neobtěžoval napsat dotaz na tento problém. :-)
Za druhé , někdy je implementace tohoto návrhu snazší kvůli určitým omezením přirozeně uloženým databázemi. Pokud váš meta_key
hodnoty obsahují nějaké dlouhé hodnoty větší než 30 znaků, buď musíte hodnoty zkrátit a někde provést mapování, nebo by to byla možná jediná možnost, kterou byste mohli mít.
Konečně , výkon je velmi důležitý; to je pravda. Ale na druhou stranu existují určité techniky, které můžete použít ke zlepšení výkonu; například vytvořením správných indexů, rozdělovacích tabulek a tak dále.
V tomto případě jsou velikosti tabulky velmi malé. Pokud tedy vaše dotazy nejsou příliš komplikované, jako jsou náročné výpočty a komplikovaná spojení a agregace, a pokud aplikace není citlivá na malé časové zlomky, myslím, že byste při přijetí tohoto modelu neutrpěli na výkonu.
Na konci , pokud se stále příliš zajímáte o výkon, navrhoval bych vytvořit oba modely, naplnit je nějakými náhodnými nebo skutečnými daty a analyzovat náklady plánu, abyste zjistili, který model lépe vyhovuje vašim potřebám.