MSSQL 2012使用CPU内核?

我正在处理器的决策边界上,我需要一个关于“如何实际使用MSCPU 2012与CPU核心?”的信息。

基本上我的问题是:

  • 1查询从多连接查询中提取数十亿行将从单个核心执行,还是将从可用核心执行?

我build议你阅读一本关于SQL Server的书 – Bolton,Langford,Berry等人的专业SQL Server 2012内部和故障排除是一个很好的例子。

首先,我想告诉你,在devise一个SQL 2012服务器时,你并不想疯狂。 微软已经将其许可模式改为SQL Server 2012上的每核心模式,这对AMD处理器来说非常不利,AMD处理器目前支持更多的相对较弱的内核,而英特尔处理器通常具有更less的物理内核,但每个内核性能更好。

对于拥有更多AMD内核的服务器,您可以花费两倍的许可成本,或者花更less的内核来使用英特尔服务器,并节省数十万美元的许可费用,最终获得性能更好的服务器。

具有多个连接的巨大查询(如您所描述的那样)会生成一个复杂的执行计划,并由查询优化过程分解为多个任务,并行执行。 所以是的,这种查询肯定会利用多个处理器/内核提供的并行性。

编辑:当代英特尔处理器在SQL 2012工作负载上比AMD处理器更好 。 看看tpc.org上的TPC-E基准。 AMD处理器目前无法与英特尔处理器的单线程性能相匹配。 AMD处理器通常拥有更多的核心,但并没有弥补差距。 另外,无论制造商如何,SQL Server上的许多内核都会显示收益递减。

另外,在这里阅读我的博客文章。