我有一个具有以下结构的表:
primary+foreignkey1
primary+foreignkey2
primary+foreignkey3
primary+foreignkey4
primary+foreignkey5
primary+foreignkey6
string
int
varbinary
它非常像事实表,外键在其中引用维。尺寸非常小,每个大约2000行。但是,主要事实表有5亿行。
当前,性能非常非常差。简单查询需要很长时间。数据每2年更改一次,因此非常静态。
我们目前仅对所有pk值具有聚簇索引:
CREATE TABLE table(
[id1] [int] NOT NULL,
[id2] [int] NOT NULL,
[id2] [int] NOT NULL,
[id4] [int] NOT NULL,
[id5] [int] NOT NULL,
[id6] [int] NOT NULL,
[location] [varchar](50) NOT NULL,
[year] smallint NOT NULL,
[text] [decimal](10, 4) NULL,
[hash] [varbinary](50) NOT NULL,
CONSTRAINT [pk_1] PRIMARY KEY CLUSTERED
(
id1 ASC,
id2 ASC,
id3 ASC,
id4 ASC,
id5 ASC,
id6 ASC,
location ASC,
year asc
)
有人可以在最佳实践索引中建议我查询表时优化性能吗?
谢谢!