代码之家  ›  专栏  ›  技术社区  ›  Kharlos Dominguez

如何强制SQL Server使用更多CPU

  •  0
  • Kharlos Dominguez  · 技术社区  · 15 年前

    我有一个数据转换查询,在我的开发机器上运行需要很长时间(核心i7 920在3.9GHz下运行,在Windows Server 2003 x86下使用12GB RAM,在RAID0中使用2个300GB的Velocirators)。

    当我查看任务管理器时,CPU保持在26%左右,其中第三个(4个)核心是最活跃的。

    由于这不是一个生产环境,有没有任何方法可以告诉SQL Server 2008我可以使用更多的CPU,还是因为我的查询由于某种原因无法并行化? 如果,SQL Server是否应该足够聪明,能够将查询切成更小的块,并跨多个线程运行,以便每个核心都能得到它?

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Oded    15 年前

    优化您的查询。很可能是它有问题,而不是SQL Server。

        2
  •  0
  •   ChrisLively    15 年前

    它已经知道这是可以的,除非您通过配置或设置maxdop参数专门限制它只使用一定数量的CPU。

    听起来你可能更受硬盘或内存的限制。

    请注意,由于您运行的是x86版本的Windows(并通过扩展名SQL Server),所以RAM限制在3GB左右。而且,即使启用了PAE(物理寻址扩展),它的速度也会比X64操作系统和SQL服务器的速度慢得多。

    换句话说,您可以考虑从地面重新安装机器,以充分利用X64的优势。