最近我们开始在SQL Server上遇到一些性能问题。
在分析中,我发现DBA在ONE TABLE(300 GB大小)中有8亿行
没有分区,没有合适的索引 - 导致性能下降。
通知:
SQL Server 2005中的表建议使用多少行
答案 0 :(得分:4)
没有“推荐”号码。
您应该只保存您使用的数据。如果您不使用它,请将其存档。
如果确实需要它并且遇到性能问题,那么DBA应该能够调整数据库。有了这个行数(并不罕见),索引和确保SAN正常工作应该可以解决问题。水平缩放是另一种选择。
答案 1 :(得分:1)
此处的Oracle用户(从未使用过如此大量行的MS SQL服务器)
我可以说,在我使用过的所有系统中,所有具有数亿行的表都必须进行分区。
根据本文档,您还应该在MS SQL中分区这样的大表。 http://msdn.microsoft.com/en-us/library/ms345146(v=sql.90).aspx
答案 2 :(得分:0)
单个表中的行的数量应该没有实际限制,只要它被正确编入索引--8亿不会像我那样多。
什么算作“正确索引”将完全取决于应用程序和表格。
答案 3 :(得分:0)
我看到很多“无限制”的答案,但我不同意。除非你有超级硬件的macabucks,否则应该对这个表进行分区。有8亿行的事实告诉我,要么a。)这是数据仓库中的事实表(并且应该被分区)或者b。)dba已经在车轮上睡着了。
我在想b(或者可能是集体a和b)。我无法想象成为dba并且在没有某种干预的情况下让一张桌子获得8亿条记录。我喜欢积极主动,这是一个大红旗,dba没有计划老化数据。它要么快速增长,要么完全不受管理。