我们当前正在运行两个 SQL Server 实例。出于开发目的,我们在办公室的台式电脑上运行本地数据库。
PC 有以下统计数据:
- 8 GB 内存
- AMD Athlon 5350 APU 搭载 Radeon(tm) R3 2.05 GZ
- 64 位 Windows 8.1
- Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Express 版(64 位)
- 硬盘希捷 ST1000DM003 1 TB
服务器位于 Azure 中,作为 VM 标准层 A3,运行预先提供的 Windows Server 2012 R2 数据中心镜像
现在我们面临一个问题,即完全相同的查询在桌面上本地运行的速度比在服务器上运行的速度快 10 倍。
我通过本地网络上的 TCP/IP 连接到本地安装的 Management Studio 的电脑。当我连接到服务器时,我使用远程桌面连接并在服务器上启动 Management Studio 的本地实例。
我已经将服务器上的连接模式从默认更改为 TCP/IP,这使我的速度慢了 10 倍,默认连接会慢 20 倍。即使更改为命名管道,性能也会更差。
还重写查询并使用不同的方法,快速版本总是比服务器快得多。我们没有对 Express 版本的安装进行任何配置或调整,因此在服务器端。
非常感谢任何评论!
最佳 西蒙
最佳答案
您应该在查询顶部添加以下内容以查看差异所在:
设置统计时间
设置统计 IO 打开
关于SQL 查询在本地桌面 SQL Server Express 上的运行速度比 Azure 中的 SQL Server 快 10 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844887/