【发布时间】:2016-01-13 04:19:35
【问题描述】:
我正在实现一个数据库来为我的用户存储详细信息。通常我会这样创建:
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
据我所知,添加/编辑/删除新元字段更容易。您不必更改表的结构。
第二个架构中不会有空单元格。但是,对于大量的行,元字段的名称会占用空间。
使用第二种模式查询是否更快?
我想知道第二种方法比第一种方法有什么优势?
谢谢。
【问题讨论】:
-
您已经说明了优势...可以添加/删除/修改字段,而无需更改架构。对于具有固有动态模式的场景,这是一种常用方法。缺点是增加了复杂性。
标签: mysql database database-schema