日期:2014-05-18  浏览次数:20429 次

(100分求解)寻求在视图上建立索引的方案
创建视图(有几千万条数据)的语句如下:

CREATE   VIEW   dbo.IMa
AS
SELECT   *
FROM   [20060701_IMa]
UNION   ALL
SELECT   *
FROM   [20060716_IMa]


表结构如下:
id       type         from         to
1             3               f1           t1
2             4               f2           t2
3             3               f3           t3
4             4               f2           t4
.....
n             8               fm           tn

 
请问高手,怎样为该视图建立索引以提高查询效率(有几千万条数据)?

------解决方案--------------------
视图索引要求太多,还是在表上建索引吧。
在from,to,type上建聚集索引。
------解决方案--------------------
在from,to,type上建聚集索引。
-------------------------------

表很多的话,这是不现实的,在你的视图中建索引也是不现实的。
在查询语句上多动动脑吧,多一些限制条件,搜索的范围越小,尽量避免全表搜索。
如where (charindex(i.from,z.from)> 0 or charindex(i.to,z.from)> 0) and type=4中,z.from应该还有些条件吧,如果有的话就加上吧。