美文网首页
索引设计

索引设计

作者: Crud仔 | 来源:发表于2021-07-11 10:55 被阅读0次

    索引设计

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

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

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

    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.分区索引建立本地分区索引,主键则为全局索引。
    
    

    相关文章

      网友评论

          本文标题:索引设计

          本文链接:https://www.haomeiwen.com/subject/hlrkpltx.html