Sql server SQLAzure和索引视图

Sql server SQLAzure和索引视图,sql-server,azure-sql-database,Sql Server,Azure Sql Database,我们有一些高级Azure SQL数据库,我们正试图使用索引视图来具体化一些较大表的子集,因此这些数据可以用于某些搜索/报告查询。我注意到查询优化器拒绝使用视图 我的第一次尝试是创建视图,而不是修改查询。我以为优化器会在确定视图是更好的选择时替换它,但它没有 我的第二次尝试是直接从视图中选择的,执行计划根本没有改变 最后,我在视图上添加了(NOEXPAND)提示,这次计划使用了索引视图 我在3个不同的查询中看到了3个不同的索引视图的这种行为。在所有3种情况下,查询的性能都好几个数量级。在我最近的示

我们有一些高级Azure SQL数据库,我们正试图使用索引视图来具体化一些较大表的子集,因此这些数据可以用于某些搜索/报告查询。我注意到查询优化器拒绝使用视图

我的第一次尝试是创建视图,而不是修改查询。我以为优化器会在确定视图是更好的选择时替换它,但它没有

我的第二次尝试是直接从视图中选择的,执行计划根本没有改变

最后,我在视图上添加了(NOEXPAND)提示,这次计划使用了索引视图

我在3个不同的查询中看到了3个不同的索引视图的这种行为。在所有3种情况下,查询的性能都好几个数量级。在我最近的示例中,查询的持续时间从90秒变为1秒


我不太喜欢使用提示来覆盖查询优化器,还有其他人经历过吗?

Azure SQL Database Premium完全支持索引视图。Azure SQL数据库不阻止或不支持索引视图的任何功能


为了能够帮助您,您必须共享数据库模式以及如何重现问题的逐步过程。我猜你不会同意在这个网站上共享这个模式,所以你最好在Azure支持上创建一个支持票证。请发送电子邮件至本网站(azcommunity@microsoft.com)地址解释问题,他们将返回指示,让Azure支持部门处理此问题。他们会安全地查看您的架构。

您是否清除了queryplan缓存,并查看这是否产生了预期的效果?谢谢,他们会这样做,无法发布架构,并且似乎无法使用更简单的架构轻松地重新创建它。我知道,这就是他们告诉我您应该继续创建票证的原因。