我知道 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 < 100)。athObjects 表的 oTextValue 列上没有索引。即使我将条件更改为“<'Alibabki'”,索引仍然没有用。
提前感谢您的帮助。