加密问答
什么时候应该避免索引?
什么时候应该避免索引?

我想知道在什么情况下我应该避免使用索引。
是否与某些数据库操作、数据类型或性能考虑有关?
我想了解什么时候它没有好处,甚至可能适得其反。

5 回答数

索引的创建主要是为了提高数据库的效率。
是否有帮助?
128
20

包含大量空值的列也不适合建立索引。
当列中的值相对唯一时,索引效果最佳,因为这允许数据库快速找到所需的行。
当列有很多空值时,索引的有效性就会降低。
是否有帮助?
167
97

但是,在某些特定情况下应避免使用索引。
是否有帮助?
179
86

其中一个场景是处理小表时。
在这些情况下,维护索引的开销可能超过它在查询性能方面提供的好处。
是否有帮助?
377
55

应避免索引的另一种情况是频繁进行大批量更新或插入的表。
这是因为每当基础数据发生变化时就需要更新索引,这会显着减慢这些操作的速度。
是否有帮助?
215
32