![]() |
1
5
不,我觉得那不是个好主意。更好的方法是
add an index
上
partition 你最大的桌子。
|
![]() |
2
3
你应该 正常化 你的设计如下:
|
![]() |
3
2
|
![]() |
4
1
为什么需要这个表结构。我的基本问题是,每次你想使用它的时候,你必须把数据转换成财产的价值。这在我看来是不好的-也存储数字作为文本是疯狂的,因为它的所有二进制无论如何。例如,您将如何获得必需字段?或者需要基于其他字段进行约束的字段?开始和结束日期? 为什么不简单地将属性作为字段而不是一些多对多关系呢?
我经常看到数据库性能被完全阉割的一种方式是 Id,属性类型,属性名称,属性值表。
如果数据与实体的关系是1:1,那么它应该是同一个表上的字段。如果您的表宽度超过30个字段,请考虑将它们移到另一个表中 但不要称之为正常化,因为它不是 . 这是一种帮助开发人员以性能为代价将字段分组在一起的技术,以帮助理解。 我不知道mysql是否有类似的功能,但是sqlserver 2008有稀疏的列-空值不占用空间。 SParse column datatypes 我并不是说EAV方法总是错误的,但是我认为使用关系数据库进行这种方法可能不是最好的选择。 |
![]() |
Maddison · 拆分用户全名并将名字传递给下一个表单pae 2 年前 |
![]() |
rangeseeker · 从空格、数字中拆分多字字符串 2 年前 |
![]() |
mbakgor · 正在拆分列表中的字符串 2 年前 |
![]() |
Marta López · 按条件R将列拆分为多个列 2 年前 |
![]() |
Banks N · 如何拆分读线,但不拆分撇号内的值? 2 年前 |
![]() |
MisterCoder · 删除字符串中引号周围的括号 3 年前 |
![]() |
SoaAlex · 在bash中最后一个所需字符上拆分字符串 3 年前 |