mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器

文章目录

  • 执行计划解释
  • 索引类型
      • 普通索引
      • 唯一索引
      • 单列索引
      • 组合索引
      • 查看索引语句
  • 优化查询
    • 注意哪些情况索引不生效
    • 优化子查询
    • 优化数据结构
      • 将字段很多的表分解成多个表
      • 增加中间表
      • 增加冗余字段
      • 优化插入记录的速度
      • 分析表,检查表和优化表
        • 分析表
        • 检查表
        • 优化表
    • 优化mysql服务器
      • 优化服务器硬件
      • 优化mysql参数

执行计划解释

EXPLAIN
select id from test
where  age=18 and  EXISTS
(select name from test where name ='张三')

在这里插入图片描述
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第1张图片

索引类型

普通索引

在这里插入图片描述

唯一索引

在这里插入图片描述

单列索引

在这里插入图片描述

组合索引

mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第2张图片
注意,只支持,最左索引:
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第3张图片

查看索引语句


SHOW INDEX FROM TEST

在这里插入图片描述
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第4张图片

优化查询

注意哪些情况索引不生效

我们知道索引可以加快查询,但是有些情况索引不生效:

  • 1.like的查询语句

在这里插入图片描述

  • 2.使用多列索引的查询
    在这里插入图片描述

    mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第5张图片

  • 3.使用or关键字的查询语句

在这里插入图片描述

mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第6张图片

优化子查询

为什么子查询效率低?mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第7张图片
如何优化子查询:
在这里插入图片描述

优化数据结构

将字段很多的表分解成多个表

在这里插入图片描述
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第8张图片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第9张图片
在这里插入图片描述
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第10张图片

增加中间表

mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第11张图片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第12张图片

增加冗余字段

mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第13张图片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第14张图片

优化插入记录的速度

在这里插入图片描述
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第15张图片

分析表,检查表和优化表

分析表

在这里插入图片描述
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第16张图片

检查表

mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第17张图片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第18张图片

优化表

主要消除文件碎片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第19张图片

优化mysql服务器

优化服务器硬件

mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第20张图片

优化mysql参数

mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第21张图片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第22张图片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第23张图片
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第24张图片
实战案例:
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器_第25张图片

参考《MYSQL5.7入门到精通(刘增杰)》


你可能感兴趣的:(mysql)