sql >> Databáze >  >> RDS >> Mysql

Jaký je nejlepší výkon pro načítání výsledků MySQL EAV jako relační tabulky

Nejlepší způsob, jak to zjistit, by bylo otestovat, samozřejmě. Odpověď se může lišit v závislosti na velikosti datové sady, počtu různých metaklíčů, jejich distribuci (mají všechny entity hodnoty pro všechny metaklíče? nebo jen pro několik z nich?), nastavení vaší databáze server a možná mnoho dalších faktorů.

Pokud bych měl hádat, řekl bych, že náklady na JOIN operace v možnosti 2 by byly menší než náklady na GROUP BY a agregační funkce potřebné v možnostech 1 a 3.

Takže bych očekával, že najdu možnost 2 rychleji než 1 a 3.

Chcete-li měřit možnost 4, budete muset vzít v úvahu více faktorů, protože aplikace může být na jiném serveru, takže je třeba vzít v úvahu zatížení dvou (db a aplikačních) serverů a počet klientů, kteří budou žádat tyto výsledky. .

Vedlejší poznámka:potřebujete GROUP BY e.ID v možnostech 1 a 3.



  1. Jak se připojit k MySQL na Amazon EC2 z Linuxu / Mac?

  2. Vysvětlení aliasu SQL

  3. Android sqlite, limit počtu řádků v databázi

  4. MySQL:Jedinečné omezení na více polích