MYSQL学习笔记
一. MYSQL分层
1、连接层:负责数据库连接;
2、服务层:负责解析查询(编译SQL),并对其进行优化(SQL优化器 SQL Query
optimizer);
3、引擎层:Innodb、MyIsam;
4、存储层:存储数据;
二. MYSQL索引类型
1、单值索引 单值索引就是给一个字段加索引(索引类型默认为Btree)。
创建方式 :
create index 索引名称 on 表名(字段名);
alter table 表名 add index 索引名称 (字段名) ;
2、唯一索引
使用唯一索引的列的值在表中必须唯一。
创建方式 :
create unique index 索引名称 on 表名(字段名);
alter table 表名 add unique (column_list) ;3、复合索引
符合索引就是使用两个及以上的字段组合形成索引。
创建方式 :
create unique index 索引名称 on 表名(字段名1,字段名2…);
alter table 表名 add index 索引名称(字段名1,字段名2…);说明:主键也是一种索引,其实严格意义的说,主键就是唯一索引。
三.MYSQL索引的结构类型
1.BTree索引 BTree索引使用的是B+ tree,B+ tree是一种树。它遵循二叉树中左边的节点的值小于父节点,右边的节点的值大于父节点的规则。
使用Btree的索引,查询次数为B+ tree的深度;
使用Btree的索引,数据都放在叶子节点上,非叶子节点只存储key值信息,和子节点地址信息;