【问题标题】:SQL 2005 Express not using materialized view in explicit querySQL 2005 Express 未在显式查询中使用物化视图
【发布时间】:2010-02-04 10:31:48
【问题描述】:

我知道 SQL Server 2005 的 Express 版本在估算最佳执行计划时不会自动包含物化视图(带有模式绑定)。但是,当直接查询视图时 - 我仍然会在实际执行计划中显示底层表。为什么我的聚集索引没有在查询中使用的物化视图上创建?

查看代码为:

CREATE VIEW [dbo].[athObjectNames] WITH SCHEMABINDING
AS
SELECT     convert(nvarchar(440),oTextValue) as oTextValue, oObjectID, oTypeID, oVersion
FROM         dbo.athObjects
WHERE     (oTypeID < 100)

并且在 oTextValue 列上创建一个唯一的聚集索引。

但是当我执行如下查询时:

select * from dbo.athObjectNames
where oTextValue = 'Alibabki'

...我看到基础表 (dbo.athObjects) 在执行计划中使用条件 (oTypeID

提前感谢您的帮助。

【问题讨论】:

标签: sql sql-execution-plan


【解决方案1】:

好的,我发现应该使用“with (noexpand)”提示来强制优化器使用物化视图。也许这会帮助其他人。 :-)

【讨论】:

    猜你喜欢
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多