Mysql索引及优化

1.整体语句顺序

在这里插入图片描述

2. 分页查询

2.1 语法

在这里插入图片描述

2.2 举例1

在这里插入图片描述

2.3 举例 2

在这里插入图片描述

3.分组查询

3.1 where 与 having区别

在这里插入图片描述

3.2 案例

在这里插入图片描述

4. 单表综合练习sql

在这里插入图片描述
在这里插入图片描述

5. 多表综合练习sql

5.1 内连接

查询两张表交集的部分
在这里插入图片描述

5.2 外连接

才会包含左边或者右表所有信息
在这里插入图片描述

5.3 自连接

在这里插入图片描述

5.4 子查询

在这里插入图片描述

6. 索引

6.1 为什么InnoDB存储引擎使用B+Tree索引结构

1.采用二叉树 按照有序的插入----》 形成链表 (搜索性能很低)
2. 红黑树—(本质也是二叉树,红黑树是一种平衡二叉查找树的变体,它的左右子树高差有可能大于 1,所以红黑树不是严格意义上的平衡二叉树(AVL)),B+相对于二叉树,层级更少,搜索效率更高。
3. b树—》叶子结点和非叶子结点 都存数据。
4. 相对于Hash索引,B+树支持范围匹配, 而hash索引只支持等值匹配

6.2 索引分类

主键索引:
唯一索引: 当把这个字段加上关键字Unique,就会为这个字段加上唯一索引(可以有多个)
在这里插入图片描述
InnoDb中聚集索引与非聚集索引
涉及回表查询
在这里插入图片描述
在这里插入图片描述

6.3 索引语法

在这里插入图片描述

6.4 索引-查看执行频次

查看当前数据库–增删改查的执行语句
show global status like ‘com_____7个’ 一个下划线代表一个字符

6.5 索引-性能分析

慢查询日志:定位哪些sql中select语句查询慢=== 针对性优化
在这里插入图片描述

6.6 profile 详情

show profiles

6.7 explain执行计划

  1. id
    在这里插入图片描述
    2 type 表示连接类型

6.8 索引使用(失效多种情况)

  1. 满足:最左前缀法则---- 针对组合索引(如果最左边的索引不存在,则索引会失效)
    如果跳跃了一列,则索引也会部分失效。
  2. 范围查询
    在这里插入图片描述
  3. 索引列运算
    不要在索引列上进行运算操作,索引将失效。
  4. 字符串 要加单引号
  5. 模糊查询: 如果仅仅是尾部模糊匹配,索引不会失效。如果是头部模糊匹配,索引失效。
  6. or 连接的条件
    在这里插入图片描述
  7. 数据分布影响

6.9 索引设计原则

在这里插入图片描述

7. Mysql 优化

链接: B站最好的MySQL性能优化面试回答,三分钟搞定面试官!.

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值