美文网首页
索引设计

索引设计

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

相关文章

  • 索引设计

    索引设计 在表结构设计完成后,索引设计是数据访问性能的关键要素。索引的建立必须慎重,项目组对每个索引的必要性都应该...

  • MySQL5.7从入门到精通(9-12章)--索引、存储过程、视

    第9章 索引 9.1 索引简介 9.1.1 索引的含义和特点 9.1.2 索引的分类 9.1.3 索引的设计原则 ...

  • 索引设计指南

    Sql Server索引设计指南——脑图链接 参考资料:SQL Server 索引设计指南Clustered an...

  • MYSQL实战优化——索引介绍二

    联合索引查询原理 之所以介绍联合索引,是因为平时我们设计系统的时候一般都是设计联合索引,因为我还是要尽可能的让索引...

  • 索引设计与优化

    关于索引设计的一些误区: 误区一:索引设计层级不要超过五层 这是因为以前的索引设计的建议是基于内存比较小,一般只有...

  • 《数据库索引设计与优化》术语表

    索引设计方法中所涉及的术语 设计最佳索引的算法 三星索引:宽索引。覆盖所有所需列(第3颗星),所需扫描的区域尽可能...

  • 数据库开发设计规范

    数据库开发设计规范 命名规范 基础规范 字段设计规范: 索引规范 索引禁忌 SQL设计 操作规范: 注意事项:

  • 《精通Python设计模式_带索引书签目录》 分享下载

    书籍信息 书名: 精通Python设计模式_带索引书签目录 标签: 精通Python设计模式_带索引书签目录,免费...

  • 51-MySQL-索引的设计原则

    一、高效索引 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。索引设计不...

  • MySQL InnoDB索引设计指南

    一、索引设计原则 在MySQL中常用的B+树索引分为聚簇索引和辅助索引,关于辅助索引,虽然个数没有限制(聚簇索引一...

网友评论

      本文标题:索引设计

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