侧边栏壁纸
博主头像
suringYu

走走停停

  • 累计撰写 50 篇文章
  • 累计创建 18 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

sql索引

suringYu
2021-10-09 / 0 评论 / 0 点赞 / 293 阅读 / 828 字

索引index 是mysql高效获取数据的数据结构

1、索引优势

①提高查询效率(降低IO使用率)
②降低cpu使用率 (...order by ... desc,因为 B树索引本身就是一个好排序的结构,因此在排序时可以直接使用)

2、索引的弊端:

①索引本身很大,可以存放在内存/硬盘(通常为硬盘)
②索引一下情况均不适用:
a.少量数据
b.频繁更新的字段
c.很少使用的字段
③.索引会降低增删改的效率(增删改查)

3、索引分类

主键索引:

单值索引:单列,一个表可有多个单值索引, 如 用户名称 name

唯一索引:不能重复吗,如id

复合索引:多列构成的索引(理解为二级目录)

4、创建索引

1、根据查询要求,迅速缩小查询范围,避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引

2、在经常需要进行检索的字段上创建索引,比如要按照表字段用户名name进行检索,那么就应该在姓名字段上创建索引,如果经常要按照员工部门和员工岗位级别进行检索,那么就应该在员工部门和员工岗位级别这两个字段上创建索引。

5、创建命令

基础命令结构

create	索引类型 索引名 on	表(字段)

假设表结构

| id | name | dept | age | email|

单值索引:

create index dept_index on tb(dept)

唯一索引:

create unique index name_index on tb(name)

复合索引:

create index dept_name_index on tb(dept, name)

注意:如果一个字段是主键,则这个字段本身就是主键索引

0

评论区