搜索
首页
笔记
案例
关于
课程列表
MySQL
数据库操作
数据表操作
Mysql列类型及列属性
MySQL常用函数
MySQL增删改
MySQL查询
JOSN的支持
MySQL流程控制语句
视图
存储过程及存储函数
变量与游标
事务
触发器
权限及安全管理
MySQL日志
二进制日志
Mysql5.7复制功能
数据备份与恢复
性能优化
课程导航
计算机基础知识
C
Linux
linux常用软件
计算机网络
程序员修养
设计模式
工具
Git
composer
vim
IntelliJ IDEA
wireshark
laravel
Spring
SpringMVC
Maven
数据库
MySQL
Redis
MongoDB
JDBC
Mybatis
MyBatis-Plus
服务端编程
PHP
Java
shell script
JavaWeb
HTML / CSS
HTML
CSS
HTML5
CSS3
BOOTSTRAP
JavaScript
JavaScript
JQuery
layui
数据备份与恢复
性能优化
## 优化目的 **加速读写** **避免出现页面错误** **增强数据库稳定性** ## 优化方向  ## SQL语句优化 ### 通过慢查询日志发现问题SQL 有几点需要注意: 1.查询次数多且查询时间较长的语句 2.IO大的SQL(注意:Rows examine项) 3.未命中索引的SQL(注意Rows examine与Rows send的对比) ### explain分析SQL explain分析SQL执行计划: ``` explain SQL语句 ``` ``` mysql> explain select * from scores; +----+-------------+--------+------------+------+---------------+------+---------+------+------+----------+-------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+--------+------------+------+---------------+------+---------+------+------+----------+-------+ | 1 | SIMPLE | scores | NULL | ALL | NULL | NULL | NULL | NULL | 15 | 100.00 | NULL | +----+-------------+--------+------------+------+---------------+------+---------+------+------+----------+-------+ 1 row in set, 1 warning (0.00 sec) ``` **id** :标识符 **table**:操作的是那张表 **select_type**:SELECT 语句类型,有simple、PRIMARY等 **type**:这个很重要,表示访问类型(ALL、index、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)) **possible_keys**:指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用(该查询可以利用的索引,如果没有任何索引显示 null) **key**:实际用到的索引,如果没用到则显示null **ken_len**:使用索引的长度 **ref**:列与索引的比较,表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值 **rows**:估算出结果集行数,表示MySQL根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数 **extra**:该列包含MySQL解决查询的详细信息,有以下几种情况: Using where:不用读取表中所有信息,仅通过索引就可以获取所需数据,这发生在对表的全部的请求列都是同一个索引的部分的时候,表示mysql服务器将在存储引擎检索行后再进行过滤 *Using temporary*:表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询,常见 group by ; order by *Using filesort*:当Query中包含 order by 操作,而且无法利用索引完成的排序操作称为“文件排序” 看到 Using temporary或Using filesort时就需要优化SQL了。 取余部分略
数据备份与恢复
文章目录