索引设计

2021-07-11  本文已影响0人  Crud仔

索引设计

在表结构设计完成后,索引设计是数据访问性能的关键要素。

索引的建立必须慎重,项目组对每个索引的必要性都应该经过仔细分析,要有建立的依据。

合适的索引可以成倍提升数据库性能,但过量的索引也会导致数据库性能下降,索引创建总体考量参见如下:

1.原则上每个表都必须要有主键,主键索引在建立的时候一定要明确的指定名称,不能让系统默认建立主键索引;

2.根据表的大小创建索引,原则上数据量超过1000的须有索引;

3.索引应该建在选择性高的字段上;

4.索引应该建在小字段上;

5.在构建索引时,应尽可能地多收集当前业务及未来业务的数据读取需求;

6.创建索引应有明确的目标,且新建索引无法与当前的其他索引合并优化;

7.尽量不使用外键保障数据的一致性,由应用程序保证数据约束,如有外键,则外键上必须有索引;

8.创建索引时需要建立数据查询与数据修改之间的速度平衡;

9.组合索引的列数量尽可能不要超过3列;

10.控制一个表的索引数量,使得一个表的索引数量尽量小于五个;

11.常用于(子)查询的表应建立索引;

12.经常与其他表进行连接的表,在连接字段上应该建立索引,但仍须在恰当的列上建立;

13.经常在where子句中的出现字段,特别是大表的字段,须评估建立索引;

14.对于组合索引,根据列的前缀性和选择性原则,安排索引的列顺序;

15.如果where语句中不得不对查询列采用函数查询,须评估建立相应函数索引的可行性;

16.不要建实际用不上的索引;

17.频繁更新的字段不建议设计为索引键值;

18.禁止选择经常被修改的字段做索引字段;

19.频繁进行数据操作的表,不要建立太多的索引;

20. 对于大的文本字段甚至超长字段,不要建索引;

21.如果一个列具有很低的数据基数,并且或者可具有空值,如建立索引,对性能有一定的影响,故建议不要有空值;

22.分区索引建立本地分区索引,主键则为全局索引。

上一篇 下一篇

猜你喜欢

热点阅读