码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • mysql索引入门-黑马


    11 索引B树

    多路平衡查找树

    动态构建B树

    裂变

    12 索引B+树

    所有元素都会出现在叶子节点

    非叶子节点起到索引作用

    叶子形成了一个单向链表。

    mysql在原B+树基础上,增加了一个指向相邻节点的链表指针。

    一个页默认16k

    15 索引分类

    主键索引

    只能有一个

    唯一索引
    常规索引
    全文索引

    索引的存储形式

    聚集索引

    必须有,只能有一个

    叶子节点挂的数据就是一行的数据

    二级索引

    叶子节点挂的是id值。

    聚集索引选取规则

    如果有主键,使用主键;

    如果没有主键,用第一个唯一索引;

    没有主键,生成要给rowid;

    回表索引

    根据二级索引找到主键值,再根据聚集索引拿到这一行的数据。

    16 思考题

    select * from user where id=10;
    
    select * from user where name='Ann';
    //先扫描name字段索引,再扫描聚集索引
    
    • 1
    • 2
    • 3
    • 4
    Innodb主键索引的B+树高度?

    innodb指针占用6个字节,假设主键使用Bigint,每个用8字节。

    n*8+(n+1)6=161024

    高度为2,n等于1170;

    高度为3,可以存储两千多万数据。

    17 语法

    创建索引

    单列索引 /联合索引

    查看索引
    show index from table_name;
    
    • 1
    删除索引
    drop index index_name on table_name;
    
    • 1

    实操

    select * from tb_user;
    
    1 name,该字段可能重复,常见索引
    2 phone 非空,唯一,创建唯一索引
    3 profession/age/status创建联合索引
    4 email创建合适索引提高查询效率
    
    show index from tb_user;
    
    show index from tb_user\G;
    
    create index idx_user_name on tb_user(name);
    
    show index from tb_user;
    
    create unique index idx_user_phone on tb_user(phone);
    
    create index idx_user_pro_ages_sta on tb_user(profession,age,status);
    //创建联合索引顺序有讲究。
    
    create index idx_user_email on tb_user(email);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    栈和队列的基本操作
    ABP:内置logger and 第三方库serilog 之间的关系
    SystemVerilog Assertions应用指南 Chapter1.31 在属性中使用形参
    C++中类的声明
    makefile相关知识的讲解
    快团团对接,供货商对接团长如何做到只吸引不打扰?
    2023年:哪些Trello的替代品值得关注?
    《敏捷无敌之DevOps时代》读后感
    2018年五一杯数学建模C题江苏省本科教育质量综合评价解题全过程文档及程序
    nodejs+Vue+Elementui高校奖学金管理系统express前端项目源码介绍
  • 原文地址:https://blog.csdn.net/qq_42938698/article/details/126587911
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号