我需要为我的项目设计一个新表,它基本上包含每个键的 41 个数字的列表。列表中的第一个数字是一些距离测量值,而其余数字表示百分比的加权箱,如下所示:
- 前十个百分位数各为 1%
- 接下来的十个分别是 2%
- 接下来的十个是每个 3%
- 接下来的十个都是4%
总和为 1*10 + 2*10 + 3*10 + 4*10 = 100%
该数据的正常用法是对 bin 进行垂直求和。(即 key1-bin1 + key2-bin1 + .. ; key1-bin2 + key2-bin2 + .. ; 等等)
现在,假设这永远不会改变,并且总会有 40 个具有相同 bin 分散度的 bin,哪个更好?:
- 每个键一行 - 键,距离,bin1,bin2 ... bin40
或者
- 每个键 41 行,形式为 key、bin_number、value 其中 bin_number -1 保存距离
第一个选项的明显优势是减少了数据重复,而且我真的不喜欢我的“-1”解决方法。
但这感觉真的很脏而且非常“硬编码”,我记得有人告诉我数据库以某种方式“更喜欢”第二个选项,并且在压缩、索引等方面比第一个选项更好地处理它。(加上查询将在第二个选项中可能看起来更好,但我可以忍受我的代码中丑陋的查询)
谢谢!