Mysql
 sql >> база данни >  >> RDS >> Mysql

Каква е най-добрата производителност за извличане на MySQL EAV резултати като релационна таблица

Най-добрият начин да разберете е да тествате, разбира се. Отговорът може да бъде различен в зависимост от размера на набора от данни, броя на различните мета-ключове, тяхното разпределение (всички обекти имат ли стойности за всички мета-ключове? или само за няколко от тях?), настройките на вашата база данни сървър и вероятно много други фактори.

Ако трябваше да гадая, бих казал, че цената на JOIN операциите във вариант 2 биха били по-малки от цената на GROUP BY и агрегатни функции, необходими в опции 1 и 3.

Така че очаквам да намеря опция 2 по-бързо от 1 и 3.

За да измерите опция 4, ще трябва да вземете предвид повече фактори, тъй като приложението може да е в друг сървър, така че натоварването на двата сървъра (db и приложението) и броят на клиентите, които ще поискат тези резултати, трябва да бъдат взети под внимание .

Странична бележка:имате нужда от GROUP BY e.ID в опции 1 и 3.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP конвертира дата и час в секунди

  2. Qt - Как да получа|компилиран Mysql драйвер

  3. Промяна на SQL таблица - разрешаване на стойност NULL колона

  4. MySQL заявка за геолокация

  5. Не мога да използвам MySQL връзка за структура на обект 6