一个查询是Azure SQL DTU中的一个事务是真的吗?这意味着我的基本套餐有5个DTU,它在一秒钟内不会超过5个quire吗?
我想知道在子查询运行1,000次的情况下执行查询需要多少DTU。
答案 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。