MySQL索引管理

总结

#索引是存在硬盘中的,
#索引的功能,
   1.可以加速查询
    2.但是他会降低写入和删除的速度
    所以不能乱加索引

总结二

1 最左前缀匹配原则
2设置的索引,它的字段中的内容占空间尽可能要小
3设置的所以要区分度尽量高,区分度越高,查找速度越快


能够帮助加速查找的方式是加上适合的索引:
 (区分度高, 能够缩小范围的字段)

组合索引总结

1.写索引时一定要把区分度最高的放在最左位置
2.用sql 语句查找数据时,一定要把区分度最高的(即索引最左边的内容)放到最左边

一 功能

#1. 索引的功能就是加速查找
#2. mysql中的primary key,unique,联合唯一也都是索引,这些索引除了加速查找以外,还有约束的功能

二 MySQL常用的索引

普通索引INDEX:加速查找

唯一索引:
    -主键索引PRIMARY KEY:加速查找+约束(不为空、不能重复)
    -唯一索引UNIQUE:加速查找+约束(不能重复)

联合索引:
    -PRIMARY KEY(id,name):联合主键索引
    -UNIQUE(id,name):联合唯一索引
    -INDEX(id,name):联合普通索引
举个例子来说,比如你在为某商场做一个会员卡的系统。

这个系统有一个会员表
有下列字段:
会员编号 INT
会员姓名 VARCHAR(10)
会员身份证号码 VARCHAR(18)
会员电话 VARCHAR(10)
会员住址 VARCHAR(50)
会员备注信息 TEXT

那么这个 会员编号,作为主键,使用 PRIMARY
会员姓名 如果要建索引的话,那么就是普通的 INDEX
会员身份证号码 如果要建索引的话,那么可以选择 UNIQUE (唯一的,不允许重复)

#除此之外还有全文索引,即FULLTEXT
会员备注信息 , 如果需要建索引的话,可以选择全文搜索。
用于搜索很长一篇文章的时候,效果最好。
用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。
但其实对于全文搜索,我们并不会使用MySQL自带的该索引,而是会选择第三方软件如Sphinx,专门来做全文搜索。

#其他的如空间索引SPATIAL,了解即可,几乎不用
各种索引的应用场景

相关文章:

  • 2021-12-06
  • 2021-12-19
  • 2022-02-23
  • 2022-12-23
  • 2021-04-27
  • 2021-09-27
猜你喜欢
  • 2021-08-29
  • 2021-10-13
  • 2021-12-28
  • 2022-02-24
  • 2022-01-26
  • 2021-06-02
  • 2022-12-23
相关资源
相似解决方案