数据库优化 索引(index)

介绍

索引是帮助数据库高效获取数据数据结构

image

优缺点:
优点:

  1. 提高数据查询的效率,降低数据的IO成本。
  2. 通过索引列多数据进行排序,降低数据排序的成本,降低CPU消耗

缺点:

  1. 索引会占存储空间。
  2. 索引大大提高了查询效率,同时却也降低了insert、update、delete的效率

结构

MySql数据库支持的索引结构有很多,如:Hash索引、B+Tree索引、Full-Text索引等。我们平常所说的索引,如果没有特别指明,都是默认的B+Tree结构组织的索引。
image

B+Tree(多路平衡搜索树)

image

  • 每个节点,可以存储多个key(有n个key,就有n个指针)
  • 所有的数据都存储在叶子节点,非叶子节点仅用于索引数据
  • 叶子几点形成了一个双向链表,便于数据的排序及其区间范围查询

操作

语法

  • 创建索引
    create [unique] index 索引名 on 表名(字段名,字段名,...);

  • 查看索引
    show index from 表名;

  • 删除索引
    drop index 索引名 on 表名;

点击查看代码
-- 创建索引
-- create [unique] index 索引名 on 表名(字段名,字段名,...);
create  index idx_emp_name on tb_emp(name);


-- 查看索引
-- show index from 表名;
show index from tb_emp;

-- 删除索引
-- drop index 索引名 on 表名;
drop index idx_emp_name on tb_emp;

image

注意事项
第一个索引为主键索引,设置id属性为主键时自动创建
第二个为唯一性索引,创建表时为属性设置unique(唯一性约束)时,自动创建

小结

image

posted @ 2024-04-27 23:12  21MINM  阅读(8)  评论(0编辑  收藏  举报