Я реализую базу данных для хранения данных для своих пользователей. Обычно я хотел бы создать так:Проектирование схемы базы данных (MySQL)
UserID metafield1 metafield2 metafield3
1 value11 value12 value13
2 value21 value22 value23
3 value31 value32 value33
Но, глядя на базы данных в Wordpress, они сделали это так:
UserID metafieldname metafieldvalue
1 metafield1 value11
1 metafield2 value12
1 metafield3 value13
2 metafield1 value21
2 metafield2 value22
2 metafield3 value23
3 metafield1 value31
3 metafield2 value32
3 metafield3 value33
Из того, что я вижу, это проще добавлять/редактировать/remmove новые метапланы. Вам не нужно изменять структуру таблицы.
Во второй схеме не будет нулевых ячеек. Однако для большого количества строк имя метаполей займет место.
Спрашивает быстрее, используя вторую схему?
Мне интересно, в чем преимущество второго подхода по сравнению с первым?
Спасибо.
Вы уже указали преимущество ... Поля могут быть добавлены/удалены/изменены без изменения схемы. Для сценария с динамически динамической схемой это общий подход. Недостатком является то, что это добавляет сложности. – David