小编hjf*_*hjf的帖子

索引空间大于数据空间是不是很糟糕?

我经常需要对没有正确索引的大表运行查询。所以我要求 DBA 创建这样的索引。他做的第一件事是查看表统计信息并查看索引空间大小。

通常他会告诉我寻找替代解决方案,因为“索引已经大于表”。他觉得索引必须比数据小,因为,他告诉我“你见过书里的索引吗?它比书本身小得多,表索引应该是这样的”。

我不认为他的哲学是正确的,但我不能挑战他,因为他是一名首席 DBA 而我是一名开发人员。我觉得如果一个查询需要一个索引,就应该创建索引,而不是寻找只会使 SP 变得不可读和不可维护的“解决方法”。

我只选择所需的列。问题是我按日期过滤,因此引擎必须进行表扫描以匹配列。该查询每天在晚上运行一次以收集统计信息,但运行需要 15 分钟(我们还有另一个硬性规定:任何过程都不应超过 3 分钟)。

DBA 向我展示了索引统计信息。该表上大约有 10 个索引,其中仅使用了 6 个(统计数据显示其中 4 个的命中率为零)。这是一个有 20 多个开发人员参与的大型系统。无论出于何种原因创建索引,可能不再使用。

我们需要支持 SQL Server 2008,因为这是运行测试数据库的。但客户都在 2014 年和 2016 年。

index sql-server

30
推荐指数
2
解决办法
1万
查看次数

标签 统计

index ×1

sql-server ×1