使用存档列限制MS SQL DB索引大小

使用存档列限制MS SQL DB索引大小,sql,sql-server,indexing,Sql,Sql Server,Indexing,在我正在处理的项目中,我们有一个表,可以看到很多读/写活动 这是一种“可视性”表;后台作业不断运行,根据其他业务域实体的创建将记录生成到此表中 此表需要定期搜索(并正在更新),因此我们遇到了性能问题 当我们引入索引来提高搜索速度时,它会导致人们在执行更新时写入表的超时问题。该表相对较大,搜索条件有点复杂,因此索引较大 我想知道的是,如果我在表中添加了一个“存档”位列,并一致地将一些旧记录标记为已存档,我是否可以将索引重新构造为仅存档为0的索引数据?这是否允许我减少索引的大小(从而减少写入这些表对

在我正在处理的项目中,我们有一个表,可以看到很多读/写活动

这是一种“可视性”表;后台作业不断运行,根据其他业务域实体的创建将记录生成到此表中

此表需要定期搜索(并正在更新),因此我们遇到了性能问题

当我们引入索引来提高搜索速度时,它会导致人们在执行更新时写入表的超时问题。该表相对较大,搜索条件有点复杂,因此索引较大

我想知道的是,如果我在表中添加了一个“存档”位列,并一致地将一些旧记录标记为已存档,我是否可以将索引重新构造为仅存档为0的索引数据?这是否允许我减少索引的大小(从而减少写入这些表对性能的影响)

我假定没有,因为索引必须仍然考虑哪些记录被存档或不存在,但我不是SQL专家,所以我想检查。< /P>


如果这不是一个理想的设置,我可以做些什么来实现类似的结果?

您可以创建一个,它只能索引
存档=0
的列,并且只能用于指定
存档=0和…
的查询这可能是探索表分区和索引视图的时候了。