【问题标题】:Azure SQL query slowAzure SQL 查询慢
【发布时间】:2016-01-25 01:28:31
【问题描述】:

我已经设置了一个 Azure SQL 数据库。我的目标是评估它以用于实际项目。

我有一个非常慢的简单查询。

select *
from table1 T1 join table2 T2
        on T1 .T2_id = T2.id

在我的笔记本电脑 SQL Server 上,这是亚秒级,但在 azure 中是 11 秒。

Table1 有 6,643 行,table2 有 12 行。

两个 SQL Server 上的执行计划相同。

如果我只返回一个count(*),那么这两个地方都在亚秒级。

执行计划包含Table1 的主键的聚集索引扫描,这是成本的 90%(在两种环境中)。对于count(*),此扫描不在计划中。

我使用的是基本的“服务层”,但数据很少,我是唯一的用户。这是一个测试,但我无法以这种性能将任何东西投入生产。

编辑:我升级到标准层,使用“S2 50 DTUS” - 标准层中的最高级别。我还是有这个问题。

【问题讨论】:

  • 您可以阅读this link
  • 这必须是一个非常弱实例。即使没有索引,该查询也是nothing。这就像读取十几页和几毫秒的 CPU。

标签: sql-server azure


【解决方案1】:

SQL Azure IO 使用数据库吞吐量单位 (DTU) 进行限制。我怀疑你已经达到了极限,尽管从表面上看,这听起来肯定不是一个昂贵的查询。

这是一个对类似问题进行深入分析的类似问题:Simple select count(id) uses 100% of Azure SQL DTUs

最终,找出答案的快速方法是:尝试一个更高端的计划几分钟,看看会发生什么。

【讨论】:

  • 我升级到标准层,使用“S2 50 DTUS's” - 标准层中最高的。我仍然有这个问题。我更新了原来的问题。
  • 在监视器屏幕上,我看到 DTU 百分比为 1.2%。我认为这意味着我没有达到 DTU 限制。为什么会这么慢?
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-22
  • 2014-02-09
相关资源
最近更新 更多