栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

mysql 调优

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql 调优

【mysql 调优相关】

链接

第一章 mysql 逻辑架构

连接层——服务层——引擎层——存储层

【mysql支持插件式的存储引擎架构,将查询处理和其他系统任务以及数据的存储提取相分离】

mysql引擎


第二章【优化分析】

SQL 执行顺序

JOIN 图

【索引】

1、索引是什么?
索引(index) 是帮助MYSQL高效获取数据的数据结构【排好序的快速查找数据结构】,如果没有特别指明,都是指B树(多路搜索树,并不一定是二叉树)结构组织的索引。

2、索引的目的是?
提高查询效率,类比字典

3、索引本身也很大,不可能全部存储在内存中,以索引文件的形式存于磁盘
【索引两大重点:查询和排序 ==》where 后面的是查询条件,order by 是排序条件】

4、索引优势与劣势

5、索引分类
单值索引:即一个索引质保函单个列,一个表可以有多个单列索引
唯一索引:索引列的值必须唯一,但允许有空值
复合索引:即一个索引包含多个列

6、mysql索引结构
BTree 索引、Hash索引、full-text全文索引、R-Tree索引
BTree 索引

7.1、需要创建索引的情况

7.2、不需要创建索引的情况

8、性能分析

1、MySQL Query Optimizer:Mysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最优的执行计划,但不见得最优

2、MySQL常见瓶颈(通过cpu 、io 、 服务器的硬件进行分析)
CPU:CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候
IO:磁盘I/O瓶颈发生在装入数据远大于内存容量的时候
服务器硬件的性能瓶颈:top,free,iostat和vmstat来查看系统的性能状态

3、通过explain的关键字进行分析
【explain介绍:
- 是什么==》(查看执行计划),使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MYSQL是如何处理SQL语句的,用于分析查询语句或是表结构的的性能瓶颈
-能干嘛==》

-怎么用==》 explain + SQL语句

字段解释:
id:表的读取顺序。
select_type:数据读取操作的操作类型。
possible_keys:哪些索引可以使用。
key:哪些索引被实际使用。
ref:表之间的引用。
rows:每张表有多少行被优化器查询

4、id(查询序列号)
select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序
三种情况:

情况一:id相同,执行顺序由上至下

情况二:id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行(在内层的子查询序列,其等级越高)

情况三:(以上两种情况同时存在的时候)
注意框框是一个临时表
按照上面的规则进行排序
id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行,衍生=DERIVED

5、select_type(查询类型)
select_type:标注是什么类型的查询,主要是用于区别普通查询、联合查询、子查询等的复杂查询。
类型:

6、type(访问类型)
类型:

但是常见为下面的【上面的不用记】

排序(最好 --》 最差)
system > const > eq_ref > ref > range > index >All
【一般要求至少达到range 级别,最好能达到 ref】

详解:

7、possible_keys 、key 和 key_len(可能用到索引、实际用到索引、长度)

8、ref(条件查询)
(显示使用到的条件查询,如果是常量就为const)
显示索引的哪一列被使用了,如果可能的话,是一个常数。哪些列或常量被用于查找索引列上的值。

由key_len可知t1表的idx_col1_col2被充分使用,col1匹配t2表的col1,col2匹配了一个常量,即 ‘ac’。
查询中与其它表关联的字段,外键关系建立索引。

9、rows(行数)
根据表统计信息及索引选用情况,大致估算出找到所需的记录所需要读取的行数。(越小越好)
每张表被优化器查询
把不合适的索引删除,慢慢优化

10、Extra (包含不适合在其它列中显示但十分重要的额外信息)

【Using filesort ---> 九死一生 、Using temporary ---> 十死无生 、 Using index ---> 幸运之子】

例子

11、

12、

13、

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039301.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号