MySQL高级性能优化5---索引

索引

1.什么是索引
  • 帮助MySQL高效获取数据的数据结构

2.为什么要建立索引
  • 提高查询效率

3.索引的优势和劣势
  • 优势

    • 提高数据检索的效率,降低数据库的IO成本
    • 通过索引对数据进行排序,降低数据排序成本,降低了CPU的消耗
  • 劣势

    • 占用内存,会以文件形式存储到磁盘上

    • 降低了更新表的速率,因为要更新索引列的数据


4.索引分类
  • 单值索引

    • 一个索引只包含一个列,一个表可以有多个单值索引
    • 一般来说,一个表建立索引不要超过5个
  • 唯一索引

    • 索引列的值必须唯一,但允许有空值
  • 复合索引

    • 一个索引包含多个列
  • 全文索引

    • MySQL全文检索是利用查询关键字和查询列内容之间相关进行检索,可以利用全文索引来提高匹配的速度

5.索引为什么能提高效率
  • 因为在创建索引的时候,系统会维护一个便于查找的高级数据结构(B+Tree),在搜索的时候就不会顺序查找,而是可以快速定位到指定数据。

6.操作索引
  • 创建索引

    create index 索引名 on 表名(字段)
    
  • 查看索引

    show index from 表名
    
  • 修改索引

    alter table 表名 add index 索引名(字段)
    
  • 删除索引

    drop index 索引名 on 表名
    

7.索引建立选择
  • 适合建立索引
    • 1.主键自动建立唯一索引
    • 2.频繁作为查询条件的字段
    • 3.关联表中的外键
    • 4.查询中排序的字段
    • 5.查询中做分组的字段
  • 不适合建立索引
    • 1.频繁增删改的字段
    • 2.where条件用不到的字段
    • 3.数据重复太多的字段

知是行之始,行是知之成

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值