MySQL索引创建与维护

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;

     

文章链接: https://www.mfisp.com/9691.html

文章标题:MySQL索引创建与维护

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
建站教程投稿分享

MySQL数据表操作

2022-9-2 14:24:42

建站教程投稿分享

MySQL日志管理

2022-9-5 15:24:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
客户经理
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠