SQL 查询在本地桌面 SQL Server Express 上的运行速度比 Azure 中的 SQL Server 快 10 倍

标签 sql sql-server performance azure

我们当前正在运行两个 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/

相关文章:

mysql - 在 wordpress 的 wp_users 表中自定义 user_nicename

c# - 在 SQL Server 数据库上执行简单查询时没有错误或结果

sql - T SQL 每天只选择第一条记录

sql - 将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。 SQL 服务器

javascript - 如何将 rel ="preload"用作 ="style"或 ="script"或提高页面速度的更好方法

java - 为什么需要等效方法重载?

sql - 如何在sql中首先按非空值的列排序

SQL查询: Calculating the deltas in a time series

sql-server - 在SQL Server中更改链接服务器的属性

php - 如何提高 MySQL INSERT 性能?