黑马程序员JavaWeb开发教程
文章目录
- 一、索引-介绍
- 二、索引-结构
- 三、索引-操作语法
- 1、语法
- 2、练习
- 3、 注意事项
一、索引-介绍
- 概念:索引是帮助数据库高效获取数据的数据结构
- 优缺点
- 优点:
- 提高数据查询的效率,降低数据库的IO成本
- 通过索引列对数据进行排序,降低数据排序的成本,降低CPU小号
- 缺点:
- 索引会占用存储空间
- 索引大大提高了查询效率,但是同时也降低了增、删、改的效率
- 优点:
二、索引-结构
- 结构:MySQL数据库支持的索引结构有很多,如:Hash索引、B+Tree索引、Full-Text索引等。我们平常所说的索引,如果没有特别指明,都是指默认的B+Tree结构组织的索引
- B+Tree(多路平衡搜索树)
- 每一个节点,可以存储多个key(有n个key,就有n个指针)
- 所有的数据都存储在叶子结点,非叶子节点仅用于索引数据
- 叶子结点形成了一颗双向链表,便于数据的排序及区间范围查询
三、索引-操作语法
1、语法
- 创建索引
- create [unique] index 索引名 on 表名(字段名,…);
- 查看索引
- show index from 表名;
- 删除索引
- drop index 索引名 on 表名;
2、练习
-- 创建:为tb_emp表的name字段建立一个索引create index index_name on tb_emp(name);
-- 查询:查询tb_emp表的索引信息show index from tb_emp;
-- 删除:删除tb_emp表中那么字段的索引
drop index index_name on tb_emp;
3、 注意事项
- 主键字段,在建表时,会自动创建主键索引
- 添加唯一约束时,数据库实际上会添加唯一索引