![]() |
1
5
不,我觉得那不是个好主意。更好的方法是
add an index
上
partition 你最大的桌子。
|
![]() |
2
3
你应该 正常化 你的设计如下:
|
![]() |
3
2
|
![]() |
4
1
为什么需要这个表结构。我的基本问题是,每次你想使用它的时候,你必须把数据转换成财产的价值。这在我看来是不好的-也存储数字作为文本是疯狂的,因为它的所有二进制无论如何。例如,您将如何获得必需字段?或者需要基于其他字段进行约束的字段?开始和结束日期? 为什么不简单地将属性作为字段而不是一些多对多关系呢?
我经常看到数据库性能被完全阉割的一种方式是 Id,属性类型,属性名称,属性值表。
如果数据与实体的关系是1:1,那么它应该是同一个表上的字段。如果您的表宽度超过30个字段,请考虑将它们移到另一个表中 但不要称之为正常化,因为它不是 . 这是一种帮助开发人员以性能为代价将字段分组在一起的技术,以帮助理解。 我不知道mysql是否有类似的功能,但是sqlserver 2008有稀疏的列-空值不占用空间。 SParse column datatypes 我并不是说EAV方法总是错误的,但是我认为使用关系数据库进行这种方法可能不是最好的选择。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |