我刚刚将一个大型 SQL Server 数据库(数据库文件大小约为 25G,日志大小约为 20G)从一台计算机移动到另一台计算机。然后突然间,在旧机器中 1 秒返回的查询将在新建机器中运行超过 1 分钟(功能更强大)。
旧机器是双核 Intel I3 和 4g 内存。新机器是四核 Intel I7,16g 内存。
我检查了索引是否完全相同。
可能是什么原因?
编辑:
尚未更新数据库统计信息。会那么做。 尚未对索引进行碎片整理。也会这么做。 操作系统:旧机器运行Windows Server 2008。新机器运行Windows Server 2012。 硬盘:SSD raid 1。本地物理驱动器。分为两个逻辑驱动器,一个用于数据库存储,另一个用于日志存储。
新机器正在以完整的性能设置运行。它是一台机器,与其他机器没有任何平衡。 它专用于该数据库任务,机器上没有运行其他任何东西。
最佳答案
这可能有多种原因。那是本地硬盘还是网络硬盘?
- 新硬盘速度慢
- 确保数据库文件和事务日志已进行碎片整理。您需要停止 sql server 并执行碎片整理。您可以使用 Microsoft 的 Contig 之类的东西 ( http://technet.microsoft.com/en-in/sysinternals/bb897428.aspx )
- 较新的硬盘文件系统是否已加密?
- 检查防病毒软件。如果您启用了实时文件系统检查,对于某些防病毒品牌来说,速度会显着降低
最可能的原因是上面的 2 或 4
作为一般建议,为了获得更好的性能,请将数据库文件和日志文件存储在单独的硬盘上(而不仅仅是不同的分区)。
关于sql - 移动 SQL Server 数据库会降低性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762765/