同一表如何实现两个聚集索引的方法
表T数据量非常大。。。两字段:sflsh,sscbb
在做查询报表的时候,需要分别按
select * from t where sflsh=....
select * from t where sscbb=....
如果建立sflsh聚集索引,第一句非常快;
如果建立sscbb聚集索引,第二句非常快;
如果建立sflsh,sscbb复合聚集索引,第一句非常快,第二句慢;怎样解决这个问题呢?
[解决办法]
CREATE TABLE dbo.test --创建表( num decimal(4,2), id int)GOCREATE CLUSTERED INDEX IX_TEST_TNAME ON dbo.test(num) --创建聚集索引GO CREATE VIEW dbo.v_test with schemabinding --创建架构绑定视图AS SELECT num,id FROM dbo.testGO CREATE UNIQUE CLUSTERED INDEX IX_TEST_TNAME ON dbo.v_test(id) --是视图上构建唯一聚集索引GO