MySQL数据库优化 | 笔记总结

简介

数据库优化的目的

在这里插入图片描述

数据库优化方面

在这里插入图片描述

慢日志分析

  • SQL及索引优化
    在这里插入图片描述

查看是否开启慢查日志

慢查日志的存储格式

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

  • saklia数据库演示
    在这里插入图片描述
    在这里插入图片描述

慢查日志分析工具

mysqldumpslow:MySQL官方工具

在这里插入图片描述

  • 使用:在这里插入图片描述

查询使用方式在这里插入图片描述在这里插入图片描述在这里插入图片描述

pt-query-digest

在这里插入图片描述

  • 使用
    在这里插入图片描述

发现分析“问题SQL”

  • 发现
    在这里插入图片描述

Rows examine:扫描行数
Rows send:发送行数

  • 分析
    在这里插入图片描述
    在这里插入图片描述

优化方法

1.对Count()和Max()优化

在这里插入图片描述

  • Max():通过添加索引
    在这里插入图片描述
    在这里插入图片描述

  • Count()
    在这里插入图片描述
    在这里插入图片描述
    注意:count(*)包含NULL ;count(列)不含NUL

结果:在这里插入图片描述

2.对子查询的优化

在这里插入图片描述

  • 例子:子查询改连接查询
    子查询
    在这里插入图片描述

    连接查询:容易出现重复
    在这里插入图片描述
    通过distinct关键字去重
    在这里插入图片描述

3.对group by查询的优化

  • 优化前:用了临时表 文件排序 (不好)
    在这里插入图片描述
    在这里插入图片描述
  • 优化后:若有其他过滤条件 也应放在子查询中,而非查询后再过滤
    在这里插入图片描述

4.对limit查询的优化

在这里插入图片描述

  • 优化1:用有索引的列主键进行Order by操作
    在这里插入图片描述
  • 记录上次返回的主键,下次查询使用主键过滤。【注意:主键按顺序排序且无空缺】在这里插入图片描述
    避免数据量大时扫描过多记录

索引优化

选择索引列

在这里插入图片描述

  • 通过查看唯一值判断离散程度:唯一值数量多,离散大
    在这里插入图片描述

消除重复/冗余索引


在这里插入图片描述

  • 第三方工具
    在这里插入图片描述

删除不使用的索引

在这里插入图片描述

结构优化:表的拆分

选择合适数据类型

在这里插入图片描述

  • int存储时间
    看后缀:
    FROM_UNIXTIME:INT时间戳转换成日期格式
    UNIX_TIMESTAMP:日期格斯转换成时间戳在这里插入图片描述
  • bigint存储IP地址
    在这里插入图片描述

表的范式化和反范式化

  • 范式化

在这里插入图片描述
此表不符合第三范式:在这里插入图片描述
存在问题:
在这里插入图片描述

  • 范式化
    在这里插入图片描述
  • 反范式化
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

表的垂直拆分

在这里插入图片描述

  • 例子
    在这里插入图片描述
    拆分后
    在这里插入图片描述
    在这里插入图片描述

表的水平拆分

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

  • 方法
    在这里插入图片描述
    前后台分开:前台需要效率

配置优化

MySQL配置文件

在这里插入图片描述

  • 常用参数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

操作系统配置优化

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

第三方配置工具

在这里插入图片描述

硬件优化

如何选择CPU

在这里插入图片描述

磁盘IO

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值