1表有10亿行与1000表有100万行

时间:2014-04-15 19:00:20

标签: sql sql-server postgresql

我想设置一个架构,用于存储大量数十亿行的连续数据,一旦插入数据,我只会在将来的查询中读取它。我有两个选项来设置我的架构,并想知道哪一个比下面的另一个更好,或者是否有另一个我没想到的选项。

选项1。
创建一个大型表来保存数十亿行数据。我喜欢这个,因为它保持架构静态和简单生活,但不确定任何性能权衡。

选项2。
在这种情况下,我存储库存的历史市场数据,第二个选项是为每个库存创建一个表,以便在数据库系统中的多个表之间传播大量数据。这感觉它会更加永久,但如果我想在将来向我的数据集中添加新列,则可能会出现问题。

寻找一些可以帮我第一次写这篇文章的仓库爱好者! - 邓肯

2 个答案:

答案 0 :(得分:2)

在SQL Server中,您希望创建Partitioned Views,并将数据按日期分成较小的表。这最终将对性能更好。这对于在不同文件组上设置表格也很有帮助,您会发现这些表格对于那么多数据的备份策略很有帮助。

答案 1 :(得分:1)

一张桌子,但分区以便于维护。就性能而言,创建适当的索引,不依赖于分区来提高性能(在某些情况下可以实现,但不是那么简单)。