mysql五:表索引详解

前言:

  • 主键索引不需要创建,系统会自动生成。
  • 主键一定是唯一性索引,唯一性索引并不一定主键。
     

一、索引是什么?

  • 索引是帮助MySQL高效获取数据的数据结构
  • 索引往往存储在磁盘上的文件中。
  • 索引中包括:聚集索引,覆盖索引,组合索引,前缀索引,唯一索引等,默认- 都是使用B+树结构组织索引。

 

二、索引的优劣势?

优势:

  • 检索:可以提高数据检索的效率,降低数据库的IO成本
  • 排序:通过索引列对数据进行排序,降低了CPU的消耗

劣势:

  • 占磁盘空间
  • 降低更新表的效率(更新表的时候吸纳过滤低)

 

三、索引的分类:

1、单列索引:

  • 普通索引:没有任何限制。
  • 唯一索引:索引列中的值必须唯一,允许空值。
  • 主键索引:特殊的唯一索引,不允许空值。

 

2、组合索引:

  • 在表中的多个字段组合上创建的索引 add index(col1, col2……)。
  • 遵循最左前缀原则(最左匹配原则)。
     

3、全文索引(MyISAM,InnoDB5.6以后)

  • 只能在CHAR,VARCHAR,TEXT类型字段上使用全文索引。fulltext。
  • 优先级最高,先执行。
  • 存储索引,决定执行一个索引。

你可能感兴趣的:(数据库,mysql,数据库)