SQL Server中的统计计算

时间:2009-04-06 14:34:03

标签: sql-server statistics

有没有人知道在SQL Server存储过程中进行简单统计分析的任何包或源代码,例如置信区间或ANOVA?

4 个答案:

答案 0 :(得分:2)

您可能不希望这样做的原因是因为这些计算是CPU密集型的。 SQL Server通常由CPU套接字许可(标准大约为5k / cpu,Enterprise为大约$ 20k / cpu),因此DBA对任何想要在SQL Server本身上消耗大量CPU能力的应用程序非常敏感。如果你开始进行统计计算,突然服务器需要另一个CPU,这是一个昂贵的许可命题。

相反,在单独的应用程序服务器上进行这些统计计算是有意义的。通过线路查询数据到您的应用服务器,在那里进行数字运算,然后通过更新语句或存储过程发回结果。是的,这是更多的工作,但随着您的应用程序的增长,您将不会面临昂贵的许可费用。

答案 1 :(得分:1)

在更新版本的SQL Server中,您可以本机使用.net对象。所以任何.net包都可以。除此之外,总是有外部调用...

答案 2 :(得分:1)

除非您必须在存储过程中执行此操作,否则我将检索数据并在SQL Server外部执行此操作。这样你可以从任何开源或商业统计程序中选择,也可能更快。

答案 3 :(得分:0)

我不知道是否存在这样的商业套餐。可能有多种原因,其中一些已在上面概述。 如果您要完成的任务是避免构建处理存储在SQL Server中的数据的统计函数,您可能希望通过从中导入数据来尝试将统计软件包与数据库服务器集成。例如,R supports it还有CRAN

一旦你完成了这项工作,你仍然觉得你想在SQL Server中运行统计分析,接下来的步骤就是使用一个存储过程来调用你的统计数据包。命令行界面。这里你最好的选择可能是xp_cmdshell,但它需要仔细配置才能不损害你的SQL Server安全性。