2011-09-23 62 views
1

假设我有一个样本,其中有500万个数据对象作为行存储在SQL Server中。如果我需要在数据上运行一些统计数据,最好是为每个样本或一个巨型表格添加一个表格,我将通过样本ID选择并运行统计数据?在SQL Server中查询大数据集的统计信息?

最终可能会有数百甚至数千个样本 - 这看起来像一个巨大的表格。

但我不是一个SQL Server专家,所以我不能说一个人是否会比其他的快...

或者,也许有更好的方式来处理如此大的数据集?我希望能够使用SQL CLR与C#来完成我的繁重工作...

回答

1

如果您需要处理如此庞大的数据集,我的直觉告诉我T-SQL和工作集将会更快比在SQL-CLR和RBAR(逐行排序)方法中可以做到的任何事情...处理大量数据,总结和选择,这就是T-SQL总是被创造出来的以及它是什么擅长。

500万行并不是真的很多数据 - 这是一个很好的大小数据集。但是,如果你有适当的指数,例如您在JOIN条件中使用的列,在您的WHERE子句和ORDER BY子句中,您应该没问题。

如果您需要更多,更详细的建议 - 尝试发布你的表结构,解释你将如何查询该表(你用什么标准WHEREORDER BY),我们应该能够提供一些更多的反馈。

+0

我可以使用T-SQL执行我需要的自定义统计吗?我从来没有用过它,所以不知道。任何建议的教程链接? 我是一个C#人,所以这就是为什么倾向于CLR :)我知道该怎么做...... T-SQL是一个未知数。 – Nicros

+0

@Nicros:取决于 - 你可能会努力的是尝试减少你处理的行数(通过使用T-SQL),然后在这个较小的数据集上应用自定义统计信息。 T-SQL不完全是一个统计系统.... –

+0

谢谢marc。对于某些统计数据,我可能会将数据分解为更小的块,但对于某些统计数据,我需要所有行。我很好奇T-SQL和CLR的性能......我在学习曲线:) – Nicros