最近我们开始在SQL Server上发现一些性能问题。SQL Server 2005 - 表中的行数(推荐)
在分析我发现,DBA在一个表(300 GB的大小)
没有分区,没有合适的指标已经得到了800个百万行 - 导致性能下降。
忠告:
多少行的数量将一个在SQL Server推荐表2005年
最近我们开始在SQL Server上发现一些性能问题。SQL Server 2005 - 表中的行数(推荐)
在分析我发现,DBA在一个表(300 GB的大小)
没有分区,没有合适的指标已经得到了800个百万行 - 导致性能下降。
忠告:
多少行的数量将一个在SQL Server推荐表2005年
Oracle用户(从来没有使用MS SQL服务器等大量的行)
我可以说,我的一切具有数亿行的,所有表只是工作过的系统分区。
根据这份文件,你也应该在MS SQL中分配这样大的表格。 http://msdn.microsoft.com/en-us/library/ms345146(v=sql.90).aspx
应该有对单个表中行数量没有真正的限制,只要它被正确编入索引--8亿美元并不像那么多。
什么是“正确索引”将完全取决于应用程序和表。
没有“推荐”数字。
你应该只保存你使用的数据。如果你不使用它,将其归档。
如果您确实需要它并且出现性能问题,那么您的DBA应该能够调整数据库。有了这些行数(并非不寻常),索引和确保SAN正常工作应该有所斩获。水平缩放是另一种选择。
我看到很多“没有限制”的答案,但我会不同意。除非你有大量的硬件,否则这个表应该被分区。有8亿行的事实告诉我,或者a。)这是数据仓库中的事实表(并且应该被分区)或b)dba一直在睡着。
我在想b(或者可能是a和b)。我无法想象成为dba,并且在没有某种干涉的情况下让桌面获得8亿条记录。我喜欢积极主动,这是dba没有计划老化数据的一个大红旗。它要么迅速增长,要么完全不受管理。
记录的数量不一定是问题,认为它是一个不同问题的标志。 – MatBailie
同意@Dems - 问题不是行数,而是其他观察 - “不分区,没有合适的索引” - 它们是问题,而不是行数。 –