大型数据库优化和性能所需的建议

kod*_*avi 5 performance database-design sql-server

我们正在创建一个大型数据库,估计每年增长 2 亿多条记录。该数据库用于分析目的,我们将从可用数据生成不同的表格和图形报告。我们有一些顾虑,需要技术投入和建议。

  • 我们将来可能会看到非常大的表有什么影响?一张表中的记录数或表的大小是否有限制?
  • 索引这样的大型数据表的最佳方法是什么?

对数据库优化和性能的任何建议也表示赞赏。

San*_*ddy 5

SQL Server DENALI 将拥有列存储索引,但这要到今年年底或明年初才会出现,但从我目前所见(很少)来看,它肯定会有所帮助。

在 SQL Server 中,分区是您最好的朋友。对于你的问题,表中行数的限制,它仅受存储空间的限制。

http://msdn.microsoft.com/en-us/library/ms143432(v=sql.100).aspx

随着表的增长,添加和更新数据需要一些时间,如果您使用的是 SQL Server 2008,您可能需要考虑使用最少的日志记录。

http://sqlcat.com/whitepapers/archive/2009/02/15/the-data-loading-performance-guide-2008.aspx

对于大型表,频繁更新索引可能需要花费大量时间,并且已经看到更新统计信息可以快速提升而不是频繁重建索引的情况。


Spr*_*dzy 0

根据您的需求描述,我建议您使用列存储数据库。

建议将它们用于分析。我可以在你的问题中看到 sql-server 标签,我知道有一种方法可以设计你的表,让 SQL-Server 充当列存储数据库,但它不会像使用真正的数据库那样高效列存储数据库。

列存储数据库针对索引和非常大的表进行了优化。我会向您推荐LucidDB,以便您可以快速了解这些数据库的功能。