我有一个不简单的查询。 当我的数据库有 10 个 DTU 时,执行查询大约需要 17 秒。 我将级别增加到 50 DTU - 现在执行需要 3-4 秒。 该比率与文档相对应 - 更多 DTU = 工作速度更快。
但是!
1 在我的电脑上,我可以在 1 秒内执行查询。
2 在门户统计中,我发现我仅使用 12 个 DTU(最大 DTU 百分比 = 25% )。 在 sys.dm_db_resource_stats 中,我看到 MAX(avg_cpu_percent) 约为 25%,其他参数较少。
所以问题是 - 为什么我的查询需要 3-4 秒才能执行? 1秒内即可执行。而且服务器没有使用我所有的DTU。 如何让服务器使用所有可用资源更快地执行查询?
最佳答案
DTU 是 CPU、内存、数据 I/O 和事务日志 I/O 的综合测量。
这意味着达到 DTU 瓶颈可能意味着其中任何一个。
这个问题可以帮助您衡量不同的方面:Azure SQL Database "DTU percentage" metric
以下是有关 DTU 的更多信息:https://learn.microsoft.com/en-us/azure/sql-database/sql-database-what-is-a-dtu
关于sql-server - 是否所有可用的 DTU 都用于执行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42833515/