美文网首页
数据库索引

数据库索引

作者: 匿名wm | 来源:发表于2018-03-20 16:24 被阅读0次

1.分类

 一般分为聚集索引和非聚集索引,二者一般采用B树或者hash方法实现,但是较常用的是B树(mysql默认采用的,设计数据库时可以选择),这里主要讲采用B树的方式。hash方法效果听说并不是很好。

聚集索引是采用B+树实现,非聚集索引使用B-树实现

2.区别

聚集索引:所有关键字记录仅保存在叶子节点中(叶子节点中的多个关键字以链表连接),索引节点不保存记录,仅保存索引关键字,同一索引下的叶子节点按序存储,查找快。但是主键上聚集索引插入操作时会比较慢,因为要比较所有叶子节点上主键是否有和插入的相同

非聚集索引:索引节点保存记录的关键字,及指向该关键字的指针,同一索引的记录不按序存储,查找慢。但是在主键上的聚集索引插入操作时只需要比较索引节点即可

3.适用场景

4.优点

1)最大好处是可以加快检索速度

2)在经常分组或者排序字段上加索引,会提高检索时间

3)创建唯一索引可以保证数据库每一行数据的唯一性

4)通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能

5)可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义

5.缺点

1)创建和维护索引都需要开销

2)索引需要一定的物理空间开销,尤其是聚集索引

3)增删改时,索引要动态维护

6.应该在哪些列建立索引

1)经常分组或排序的列

2)where子句的查询属性列上

3)经常查询的属性列或者经常按范围查找的属性列上

4)主键

7.哪些列不应建立索引

1)仅有少量值的列上,比如性别,只有男女

2)很少使用的列,建立索引可能会比不建立有更多的开销

3)对text、image、bit列上,这些列的数据量要么比较多,要么很少

4)修改较多,但是检索较少的列上

相关文章

  • 数据库索引记录

    本文用来记录数据库索引相关内容; 1】数据库索引分为单列索引,组合索引,全文索引,空间索引 2】单列索引:只有一个...

  • 索引,序列,视图

    1、数据库索引索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果...

  • Sql索引优化—转载

    数据库索引使用方式 使用索引是提高数据库查询效率的主要方式,下面从索引结构,索引类型,索引操作,命中索引几个方面来...

  • 数据库 - 索引

    索引 索引 索引的建立对于数据库的高效运行是很重要的。索引可以大大提高数据库的检索速度。 索引分单列索引,组合索引...

  • [Mysql]Mysql索引实现原理及相关优化策略

    数据库索引 数据库索引是什么? A database index is a data structure that...

  • 数据库索引定义和类型

    数据库索引类型及实现方式 1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表...

  • 数据库索引结构总结

    [TOC] 参考 数据库索引数据结构总结 本文摘抄自数据库索引数据结构总结 1. 摘要 数据库索引是数据库中最重要...

  • MySQL 索引

    MySQL 索引 数据库索引的原理:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表...

  • 『数据库』索引的工作原理

    数据库索引能够提高数据库的查询效率,那么索引到底是什么。 什么是索引 索引本身这个名字已经能回答这个问题了,索引就...

  • PostgreSQL基础知识--索引

    索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快得多。但索引页增加了整个...

网友评论

      本文标题:数据库索引

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