0

除了使用 INNER JOIN 或索引来优化使用 VIEW 的查询之外,是否有有效的方法

CREATE VIEW tableView AS 
SELECT A1, A2, B1 as Price, C1 as ItemNumber
FROM A, B, C 
WHERE A.A1 = B.B1
AND A.A2 = C.C1;

查询示例

 SELECT * FROM TableView WHERE Price = ‘100’ AND ItemNumber = 'R34';
4

2 回答 2

4

有效的方法是在基础表上使用适当的索引和 SQL Server 的一般调整。

没有什么特定于可以优化的视图(除了与常规查询相同的一般问题 - 不使用导致表读取/索引扫描与索引搜索等的函数......)。

于 2012-09-15T19:25:30.113 回答
0

如果您想避免表索引,因为数据存在于两个不同的表中,那么您可以创建一个schema bound view允许您composite index在子句中的两个列上创建一个sql where(Price,ItemNumber)。

于 2012-09-16T01:22:50.483 回答