我正在尝试建立我的DBA技能,但我真的是一名SQL开发人员。我遇到了一组非常广泛的表(在公司中最常用的表),并且在过去的某个时刻非sql人创建了一个非聚集索引,其密钥为:
状态(varchar(20)),只有6个可能的值,
和有效(位)
然后将每个(70ish)字段放在INCLUDE子句的表中。
我的想法有点被吹嘘。
我的问题是,这有什么作用?我必须向我的上级提出要删除它的案例。
我想有人认为这样做可以获得给定状态的每个活动记录,而不必转到叶子(?)级别。
我在想由于基数非常低,它总会进行索引扫描(SYS.DM_DB_INDEX_USAGE_STATS显示相同数量的user_seeks和user_scans),你必须不断更新它。
这就是构建索引的一种奇怪方式,我猜不出它会产生的所有负面影响。
我也希望能更好地理解宽键的缺点(但这不是关键所在)