首页 > 解决方案 > Azure SQL 删除性能比本地 SQL-Express 服务器慢很多

问题描述

问题

我正在使用“Windows Azure SQL 数据库”并且有以下行为。删除语句(2000 行)在我的本地机器上需要几秒钟。在 azure sql 数据库上,它需要超过 2 分钟。

经过一番搜索,我发现删除的查询执行计划在 azure 和我的本地机器上是不同的。

在两个数据库上执行我的查询,我得到完全不同的查询执行计划。

查询

Azure 数据库中速度较慢的查询是:

DELETE BaseObjects WHERE Id=134510

执行计划

在本地机器上查询:

本地数据库

查询天蓝色数据库:

天蓝色数据库

配置

两个数据库都没有特殊配置,两个数据库都有默认配置。我正在使用 azure sql 数据库“标准 S3:100 DTU”。它基于 DTU,而不是基于 vCore。“Id”列有一个索引。

为什么那个查询执行计划这么大?

这可能是我这边的性能问题吗?

如何提高此语句的性能?

标签: sqlazureazure-sql-databasesql-deletesql-execution-plan

解决方案


推荐阅读