Sql server SQL Server 2008如何在具有多个核心的计算机上运行select查询?

Sql server SQL Server 2008如何在具有多个核心的计算机上运行select查询?,sql-server,Sql Server,我需要在短时间内访问大量数据,因此我想出了一个解决方案。我打算使用between子句在cpu中可用的内核上以并行方式更改其参数,从而运行相同的select查询 为了实现这一点,我想知道SQL Server是否会在select语句中有效地使用所有核心,还是只使用单个核心来处理查询。关于这一点,我在网上找不到什么帮助 如果我能在四核上实现这种方法,我的访问次数将比普通查询增加4倍,这将受到内核数量变化的影响 是否可以在多个内核上运行C应用程序的多个线程以获得并行执行?SQL Server确实考虑了并

我需要在短时间内访问大量数据,因此我想出了一个解决方案。我打算使用between子句在cpu中可用的内核上以并行方式更改其参数,从而运行相同的select查询

为了实现这一点,我想知道SQL Server是否会在select语句中有效地使用所有核心,还是只使用单个核心来处理查询。关于这一点,我在网上找不到什么帮助

如果我能在四核上实现这种方法,我的访问次数将比普通查询增加4倍,这将受到内核数量变化的影响


是否可以在多个内核上运行C应用程序的多个线程以获得并行执行?

SQL Server确实考虑了并行查询。这通常是可以避免的,因为这会带来一些开销,而且很少有可能通过手动来做得更好。可以使用工作负载组或在工作负载组中配置最大度数,您可以在selects中指定MAXDOP提示以向上/向下更改它


通常,它取决于IO吞吐量,尤其是数据分布在多条路径上时,以及查询和计算的计算复杂性。

98次查询中有99次是由IO子系统绑定的,而不是由CPU绑定的。我很确定这是基于子树的总体成本,正如在实例上的并行性成本阈值设置中所定义的。是的,我的意思是,如果实际速度更快,则取决于工作负载,sql server不将其作为标准@JNK请建议我在哪里可以得到详细的解释。