回答

收藏

索引在数据库表中的缺点是什么?

技术问答 技术问答 215 人阅读 | 0 人回复 | 2023-09-14

为什么不为我的每个数据库表创建索引来提高性能?似乎有一些原因,否则所有的表都会在默认情况下自动拥有一个。9 n; ]' `$ i$ W
我使用MS SQL Server 2016。
; d% c4 ]8 n0 W% O9 P                                                                7 B' p0 ]$ t+ V4 _. [2 x9 x
    解决方案:                                                               
4 x) l& R, Q3 k1 C                                                                表上的索引并不重要。您将自动在列(或列组合)上建立索引作为主键或声明为唯一键。* n9 v! }: V8 f0 ]' v( H$ V( @9 `
索引有一些费用。索引本身占用磁盘和内存的空间(使用时)。因此,如果空间或内存成为问题,过多的索引可能成为问题。插入/更新/删除数据时,需要维护索引和原始数据。这将减慢更新速度,锁定表(或表),这可能会影响查询处理。$ z' d8 A6 k7 k* w
每个表上的少量索引是合理的。这些设计应考虑典型的查询负载。如果您索引每个表中的每一列,则数据修改将减慢。如果您的数据是静态的,则不是问题。然而,用索引耗尽所有内存可能是一个问题。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则