【Mysql篇】索引底层知识

索引:个人的理就是,索引是一种加快查询数据的数据结构。

索引种类

  1. 主键索引」(PRIMARY KEY):一般在创建表的时候指定,「一个表只有一个主键索引」,特点是「唯一、非空」
  2. 「唯一索引」(UNIQUE):特点是唯一性,可以在创建表的时候指定,也可以在创建表后创建。
  3. 「普通索引」(INDEX):唯一的作用就是加快查询
  4. 「组合索引」( INDEX):创建一个「多个字段的索引」,这个概念是相对于上上面的单列索引而言,组合索引遵循「最左前缀原则」
  5. 「全文索引」(FULLTEXT):针对大的「文本字段」创建的索引,也称为「全文检索」。
  6. 「聚簇索引」「非聚簇索引」:聚簇索引和非聚簇索引的概念比上面的概念要大,属于包含和被包含的关系。Mysql主键索引使用的就是聚簇索引。
查看一个表的所有索引,可以执行"show index from 表名"来查看: Key_name表示索引的名字,Column_name表示索引的字段。

主键索引

  • 主键索引在InnoDB存储引擎中是最常见的索引类型,一个表都会有一个主键索引,它索引的字段不允许为空值,并且唯一

  • 在创建表的时候,可以通过RIMARY KEY指定主键索引,在InnoDB存储引擎中,若是创建表的时候没有主观创建主键索引,Mysql就会看表中是否有唯一索引,就会指定「非空的唯一索引」为主键索引;没有,就会默认生成一个6byte空间的自动增长主键作为主键索引,可以通过select _rowid from 表名查询的是对应的主键值.。

  • MyISAM储存引擎是可以不存在主键索引,MyISAM和InnoDB储存数据的结构方式有明显的区别

唯一索引

  • 唯一索引与主键索引的区别就是,唯一索引允许为空,若是在组合索引中,只要创建的列值是唯一的

  • 唯一索引在实际中更多的是用来保证数据的唯一性,如仅仅要数据能够快速查询,可以使用普通索引

  • 创建唯一索引的方式有三种。
    (1)在创建表的时候指定:

CREATE TABLE user( 
 id INT PRIMARY KEY NOT NULL, 
 name VARCHAR(16) NOT NULL, 
 UNIQUE unique_name (name(10)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值