![]() |
1
1
节省空间?真的吗?当一个1兆字节的磁盘花费70美元时,你是在说节省字节? 也许你甚至没有保存字节。如果您将属性存储为“1223423342243234”,这就相当于3个属性的30个字节。如果您将它们存储为smallint,它们将占用6个字节。 |
![]() |
2
0
例如,取决于属性对于以后的搜索是否重要。 如果只在一个字段中保留属性作为序列化数组,以防您实际上不关心它们,并且例如,您不需要运行查询来显示具有一个属性的所有产品,那么这可能很好。 但是,如果属性以逗号分隔(需要使用like),并且将属性存储为序列化数组,则查找具有一个属性的所有产品至少是“糟糕的”;如果将属性存储为序列化数组,则它们完全不可用于使用SQL查询的任何排序或分组。 如果产品和属性对于选择/分组/排序其他数据有任何重要性,那么对产品和属性之间的多个关系使用单独的表要好得多。 |
![]() |
3
0
在 案例1 ,尽管您节省了空间,但在拆分字符串上还是花费了一些时间。 您还必须注意字段的大小:如果您有50个具有2个属性的产品和一个具有100个属性的产品,则必须将字段设置为~varchar(200)…你根本不会节省空间。 我想 案例2 是最好和推荐的解决方案。 |
![]() |
4
0
您需要考虑将使用这些值的select语句。如果您希望搜索具有某些属性的记录,那么将它们存储在单独的列中并对它们进行索引会更有效。否则,您将执行“like”语句,这需要更长的时间来处理。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 2 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 2 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 2 年前 |
|
Kugelfisch · 用php为数据库加密数据 2 年前 |