设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库设计 – 存储大量列的好方法是什么?

发布时间:2021-01-01 06:20 所属栏目:116 来源:网络整理
导读:我在确定如何在数据库中存储此数据时遇到问题.有关最佳方法的任何建议吗?我可能会补充说,我不太了解数据库. 我有这样的数据格式,但不是4,列数约为240,因此每个日期有240个与之关联的唯一值: Date/Time 200,00 202,50 205,00 2010.11.12 13:34:00 45,8214 43

我在确定如何在数据库中存储此数据时遇到问题.有关最佳方法的任何建议吗?我可能会补充说,我不太了解数据库.

我有这样的数据格式,但不是4,列数约为240,因此每个日期有240个与之关联的唯一值:

Date/Time 200,00 202,50 205,00  
2010.11.12  13:34:00  45,8214 43,8512  41,5369   
2010.11.12  13:35:00  461,9364  454,2612  435,5222

行也与DataSites相关联.

我的第一个想法就是有这样一张桌子:
DataID(pk),DataSiteID,ParameterID,Date,Value,DataSite索引,参数和日期. ParameterID引用另一个存储输入列标题的表(200,00 …).

我的第二个想法就是拥有一张包含所有240多列的表格.我已经提出了其他一些方法,但它们也非常不令人满意.

我的第一个解决方案的问题(不是这么大的问题,但我不喜欢它),是对于该输入行中的所有240个值将重复Date和DataSiteID,因此它使用了相当多的额外的空间.

每年将有大约40GB的数据(以上面的文本格式),数据将由DataSite,参数和日期搜索.进入的数据量很可能在一年左右翻两番.

有什么好主意吗?
谢谢,詹姆斯

编辑:这是时间序列数据,列是不同波长的测量值.希望在相对窄的波长范围内分析数据.在未来的某个时刻也可能会增加额外的波长.

编辑:谢谢你的答案,我真的很感激:)我想我可能有时间用500g左右的测试数据进行一些实验.我会回复任何结论;)

解决方法

您可以以任何一种方式创建案例,但如果要将数据用于分析,并且您经常希望同时查看该数据中的多个列,请使用宽表.确保您知道数据库列数量和行大小限制.确保您获得正确的数据类型.如果许多列为空,SQL Server允许您为此优化表.您还可以考虑使用NOSQL(Not Only SQL)解决方案来分析此类数据.

如果此数据对分析的影响较小,您可能希望按照问题中的说明对其进行标准化.

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读