JavaWeb开发学习笔记--MySQL
索引
index 是帮助数据库高效获取数据的数据结构
优点:
- 提高数据查询的效率,降低数据库的IO成本
- 通过索引对数据进行排序,讲的数据排序的成本,降低CPU消耗
缺点:
- 索引会占用储存空间
- 降低了insert,update,delete的效率
结构
有很多种:Hash索引,B+Tree索引,Full-Text索引,没有特别指明情况下,默认为B+Tree结构组织的索引。
B+Tree
一个节点可以存储多个key,有n个key就会有n个指针,也就意味着这个节点会有n个子节点.
所有数据都存储在叶子结点,非叶子结点仅用于索引数据
叶子结点形成了一个双向链表,便于数据的排序及区间范围查询
语法
-- 创建索引
create [unique] index 索引名 on 表名(字段名,...);
-- 查看索引
show index from 表名;
-- 删除索引
drop index 索引名 on 表名;
一般索引名可以遵循 idx_表名_字段名 的规范。
主键字段在建表时会自动创建主键索引,是所有索引中性能最高的。
唯一约束,数据库会添加唯一索引。