第六讲 MySQL索引创建与维护

1 InnoDB两种索引介绍

  • B+树索引:B+树在数据库中的实现,高度大约2~3层,最多2-3次I/O即可查询到数据行

    • 聚集索引:按照主键构造的一棵B+树

      • 叶子节点存放表的行记录,叶子节点也称数据页

      • 非叶子节点存放键值以及指向数据页的偏移量

    • 辅助索引:

      • 叶子节点包含键值以及对应行数据的主键
      • 每张表可以存在多个非聚集索引
  • 哈希索引:InnoDB存储引擎使用自适应哈斯索引,采用散列表的数据结构,加速查询

    • key:索引键值,value:索引记录页面位置

    • 系统自动生成,无法手动干预

注:B+树索引的使用场景:取值范围广、高选择性的字段

2 创建/删除索引

  • ALTER TABLE

    ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (字段名 (长度)[ASC|DESC])
    
    ALTER TABLE 表名 DROP INDEX index_name
    
  • CREATE/DROP INDEX

    CREATE UNIQUE INDEX indexName ON mytable(username(length)) 
    
    #drop索引
    ALTER TABLE testalter_tbl DROP INDEX c;
    #drop主键
    ALTER TABLE testalter_tbl DROP PRIMARY KEY;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴走的Mine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值