Mysql索引底层实现

 一、Mysql底层数据结构:B+树

   1. 索引的最左前缀原则:mysql建立多列索引(联合索引)有最左前缀的原则,即最左优先。

   2. explain(sql执行计划):避免全表扫描,尽量走索引。

  2.1 type: system > const > eq_ref > ref > range(范围) > index(索引) >  all (性能好->差)

   3.索引

    3.1 索引类型

    1) 普通索引:仅加速查询

    2) 唯一索引:加速查询 + 列值唯一(可以有null

    3) 主键:加速查询 + 列值唯一(不可以有null)+ 表中只有一个

    4) 组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并

    5) 全文索引:对文本的内容进行分词,进行搜索

   3.1 主键和唯一索引的区别:主键是一种约束,唯一索引是一种索引

  1)唯一性索引列可以有空值, 而主键列不允许为空值。

  2)一个表只能创建一个主键,但是可以创建多个唯一索引。    

  3)主键创建后一定包含一个唯一性索引,唯一性索引不一定就是主键。

       4)主键可以被其他表引用为外键,而唯一索引不能。

         

二、Mysql锁与事务隔离级别

 

 

posted @ 2019-08-12 12:22  遇见神龙  阅读(188)  评论(0编辑  收藏  举报