子查询的Azure MS SQL DTU计算

时间:2016-01-18 06:52:51

标签: sql-server azure

一个查询是Azure SQL DTU中的一个事务是真的吗?这意味着我的基本套餐有5个DTU,它在一秒钟内不会超过5个quire吗?

我想知道在子查询运行1,000次的情况下执行查询需要多少DTU。

3 个答案:

答案 0 :(得分:2)

DTU,数据库吞吐量单位的缩写,涉及多种因素,包括CPU,内存,读取和写入。不仅是每秒查询或一次只有事务。

如果要将其迁移到Azure SQL数据库,可以使用calculator来衡量内部部署数据库。

并且,Azure SQL数据库基准测试有test,具有不同的服务层/性能级别

答案 1 :(得分:2)

不,这不是每秒的查询量。

这是基于以下内容的黑盒计算:

  • 处理器
  • %处理器时间
  • 逻辑磁盘 - 磁盘读取数/秒
  • 逻辑磁盘 - 磁盘写入/秒
  • 数据库 - 日志字节已刷新/秒

但是有一个计算器可以帮助您定义正确的dtu消耗量:http://dtucalculator.azurewebsites.net/

答案 2 :(得分:1)

正如其他人已经指出的那样,DTU并不反映每秒的查询数。我建议您启用SQL Azure Query Performance Insight,这样您就可以跟踪DTU使用情况并识别最常用的DTU消息。

此外,执行中没有“子查询”这样的概念。只有'查询'。如果您的查询包含“子查询”,它们只不过是“查询”的一部分,最后会执行一个查询。您的查询组件(子查询,标量或表值函数,CTE,“横向视图”等)都只是一个查询的一部分,并且有一个查询正在执行,无论它有多少组件和频率他们的操作员被调用。有些查询比其他查询消耗更多DTU,但查询文本复杂性与查询执行复杂性/成本之间的关系并不简单。有关此主题的更深入讨论,请阅读Understanding how SQL Server executes a query