Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure SQL数据库DTU百分比在特定功能上达到100%_C#_Azure_Query Optimization_Azure Sql Database_Sql Server 2014 - Fatal编程技术网

C# Azure SQL数据库DTU百分比在特定功能上达到100%

C# Azure SQL数据库DTU百分比在特定功能上达到100%,c#,azure,query-optimization,azure-sql-database,sql-server-2014,C#,Azure,Query Optimization,Azure Sql Database,Sql Server 2014,我的场景是,我在管理员端有一个按钮名(发布),用于发布协议,发布后用户端可见。最近我看到当我发布协议时 DTU几乎达到100%,我测试了所有功能的其余部分DTU没有达到5% 我的数据库大小是250mb我将DTU升级到了更高的级别(从B1到B2,S1,S2,S3),但当发布协议达成时,它达到了100% 发布大型协议时的过程(最多3分钟) 我查了一下,时间长也不复杂 (@EntityKeyValue1 bigint)SELECT [Extent1].[Revision] AS [Revision

我的场景是,我在管理员端有一个按钮名(
发布
),用于发布协议,发布后用户端可见。最近我看到当我发布协议时 DTU几乎达到100%,我测试了所有功能的其余部分DTU没有达到5%

我的数据库大小是250mb我将
DTU
升级到了更高的级别(从B1B2S1S2S3),但当发布协议达成时,它达到了100%

发布大型协议时的过程(最多3分钟)

我查了一下,时间长也不复杂

(@EntityKeyValue1 bigint)SELECT 
[Extent1].[Revision] AS [Revision], 
[Extent1].[ClauseVersionId] AS [ClauseVersionId], 
[Extent1].[SourceClauseVersionId] AS [SourceClauseVersionId], 
[Extent1].[DisplayHeader] AS [DisplayHeader], 
[Extent1].[Body] AS [Body], 
[Extent1].[EndUserGuidanceNote] AS [EndUserGuidanceNote], 
[Extent1].[DocumentParty_DocumentPartyId] AS [DocumentParty_DocumentPartyId], 
[Extent1].[PublishedClause_ClauseId] AS [PublishedClause_ClauseId]
FROM [dbo].[PublishedClauseVersion] AS [Extent1]
WHERE ([Extent1].[PublishedClause_ClauseId] IS NOT NULL) AND ([Extent1].[PublishedClause_ClauseId] = @EntityKeyValue1)

我看到了很多答案和文章,但我没有找到解决这个问题的正确方法。

检查比较的两面是否匹配,这意味着PublishedClause_ClauseId也是BigInt数据类型,因为您使用的参数是“@EntityKeyValue1”,不匹配会导致查询优化器扫描或不使用索引,匹配它们,然后重新部署是视图还是表?里面有计算字段吗?即使这个表将构成整个250mb,并且没有任何索引,也不应该花费3分钟来运行所有的表。您确定是查询花费了这么长时间吗?(看起来像是实体框架代码,可能是您的取数器正在做其他(复杂的)工作吗?)此外,通常的提示是:在表上尝试
更新统计信息
,并在
PublishedClause_ClauseId
上创建索引。从一些链接文章中,您可能是“I/O/事务绑定”…@deroby
publishedclauservision
是一个表,3分钟是代码所花费的最大时间(发布大型协议时),我在浏览器的“网络”选项卡中选中此项。在azure中,我应用了
索引
,并在所有表上运行了
更新统计数据
。但仍然得到了相同的结果Issue@deroby是的,查询是按实体框架代码生成的。如果启用了性能洞察,是否可以粘贴该查询的输出