小编Tab*_*edo的帖子

相同的数据,两种不同的存储方式

下面的两个表都可以保存相同的数据 - 一整年,包括每个月的一些任意信息

table1 (one row = one month)
------
id
month
year
info
Run Code Online (Sandbox Code Playgroud)


table2 (one row = one year)
------
id
year
jan_info
feb_info
mar_info
apr_info
may_info
jun_info
jul_info
aug_info
sep_info
oct_info
nov_info
dec_info
Run Code Online (Sandbox Code Playgroud)

表A.

  • 看起来更直观,因为月份是数字,但它是
  • 全年数据的行数增加10倍.还有
  • 行更小(列更少)

表B.

  • 全年数据减少10倍,但是
  • 单行要大得多
  • 可能更难以在一个月内添加更多任意信息

在我设置的真实世界测试场景中,table1中有12,000行用于10年的数据,其中table2有150个.我意识到越少越好,一般而言,但总是如此?如果我采取一种方式,我担心我会忽略一些后来发现的警告.我甚至没有考虑过磁盘使用情况或查询可能更快.MySQL更喜欢什么?有"正确"的方式吗?或者,还有更好的方法?

感谢您的输入!

mysql sql database-design

2
推荐指数
1
解决办法
235
查看次数

标签 统计

database-design ×1

mysql ×1

sql ×1