sql - 删除索引会发生什么坏事?

标签 sql sql-server database sql-server-2000

<分区>

如果我删除 SQL Server 2000 中的现有索引,最糟糕的情况是什么(2008 R2 中的效果是否相似?)?

我知道这可能会减慢某些查询的速度,但这是可能发生的最糟糕的事情吗?

我正在查看索引调优向导并试图决定是否需要保留所有现有索引,因为如果过去的 DBA 应用了错误的索引怎么办?如果调整向导在保持现有关闭的情况下给我更高的改进百分比,我该怎么办?

最佳答案

  • 放慢速度,有时显着
  • 删除唯一索引会导致数据不一致,从而导致错误的查询结果
  • 在计算列上删除索引 - 会更显着降低性能
  • 增加缓冲池的使用 - 因此可能拒绝为某些内存加载 CLR 代码甚至常规查询提供服务。由于内存不足会导致更频繁的重新编译
  • 会导致更多的死锁
  • 会严重增加IO子系统的压力

关于sql - 删除索引会发生什么坏事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9216575/

相关文章:

SQL:添加两个求和字段并将求和值与另一个字段值进行比较

java - 我该如何解决这个 Hibernate 限制?

sql - 使用自定义编码方案而不是 GUID 作为主键

c# - 在数据库或数据表中查询一列中的重复记录

database - Yugabyte YSQL中的语句启用

mysql - SQL继承性能

mysql - 我需要在下面的 sql 查询中使用什么类型的连接来检索正确的结果?

c# - 根据自定义周末计算周数

sql - 我该如何解决 "Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong."?

php - 如何在 PHP 中检查两个数据库的相同查询并显示结果?