[C/C++后端开发学习]17 Mysql索引原理

本文详细介绍了MySQL的索引原理,包括索引分类、主键选择、约束概念,以及索引的实现方式如B+树。重点讨论了索引的工作原则,如最左匹配原则和覆盖索引,并提供了避免索引失效的方法。同时,文章还提出了索引设计的原则,强调了选择合适索引的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

索引、主键及约束

索引分类

Mysql利用B+树来组织和存储数据,索引用于在B+树中作为key值快速地查找数据。

  • 唯一索引
    不可以出现相同的索引值,但可以有NULL值。

    UNIQUE(key)
    
  • 主键索引
    非空的唯一索引,一个表只有一个主键索引;在 InnoDB 中,由主键索引构建的B+树包含了表的完整数据信息;

    PRIMARY KEY(key)
    
  • 普通索引
    可以出现相同值的索引,有两种声明形式

    INDEX(key)
    -- OR
    KEY(key)
    
  • 组合索引
    一个表中的多个列合起来作为一个索引

    KEY idx(key1,key2[,...]);
    UNIQUE(key1,key2[,...]);
    PRIMARY KEY(key1,key2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值