MySQL схема EAV один столбец для другого значения или несколько столбцов - PullRequest
0 голосов
/ 28 января 2020

Я выполняю проект на MySQL 8 и PHP 7.2 на Laravel 6 framework

У меня EAV-ситуация:

page table:

id | project_id | page
1  |    1       | about-us
2  |    1       | home
3  |    2       | home

page_attributes table:

id | page_id | attribute | type
1  |   1     | speed     | float
2  |   1     | title     | text

attribute_values ​​ table:

id | page_attribute_id | value
1  |        1          |   5.22
2  |        2          |   page title is this

Теперь мой вопрос в том, что в таблице attribute_values ​​ лучше иметь только один столбец для типов с плавающей запятой и текста, как я, или иметь два отдельных столбца, один для value_text и другой value_float?

И если я было больше типов, таких как int, boolean, ... что тогда? какой способ лучше?

ОБНОВЛЕНИЕ:

@ strawberry упомянул способ, который я даже не подумал, если он считает, что лучше иметь несколько таблиц для каждого типа данных Теперь это выглядит так:

  • с одним столбцом для всех типов данных
  • с несколькими столбцами для каждого типа данных
  • с несколькими таблицами для каждого типа данных Типы

Примечание: я имею дело с около 50 миллионов записей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...