SQL Server:每个表限制1000列

时间:2016-04-23 12:26:41

标签: sql-server-2012

我将N个不同股票的价格实时保存到Microsoft SQL Server 2012数据库中,其中特定日期的所有数据都会进入当天的特定数据表。

由于我希望尽可能快地实时检索数据,因此表结构尽可能简单:使用行名标记时间戳,列名称指定库存的唯一名称。这种设置很简单但很有用,因为在分析数据时同时获取数据的同步快照非常重要。

当库存数量超过1000时会出现问题,因为SQL Server不允许我创建超过1000列的表。

我的问题是在N>的情况下我应该如何最好地设计数据库。 1000这样,数据检索尽可能地降低速度,并且尽可能少地将数据库逻辑转移给用户(例如,在多表解决方案的情况下,明确跟踪哪个库属于哪个表)。 / p>

欢迎任何评论

1 个答案:

答案 0 :(得分:2)

您的数据库设计存在缺陷,您应该像这样设计表格:

RecordID
StockID
DateTime
Value

每个库存的每个记录值有一行,然后进行整理。