mysql简单概述_MySql的概述及入门

MySql概述及入门(三)

MySQL性能优化

主要优化安全和性能方面

安全方面 : 数据可持续性

性能方面 : 数据的高性能访问

性能优化——慢查询

在MySQL数据库中有一个慢查询日志功能,去获取所有查询时间比较长的SQL语句

查看是否开启慢查询

20191230000843786664.png

20191230000843881394.png

slow_query :是否开启慢查询日志,ON 为开启,OFF 为关闭,如果为关闭可以开启。

long_query_time:慢查询阈值,当查询时间多于设定的阈值时,记录日志,单位为秒。

临时开启慢查询

set global slow_query_log = ON;

set global long_query_time = 1;

永久开启慢查询

修改/etc/my.cnf配置文件,重启MySQL

20191230000843958545.png

性能优化——查看执行计划

MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.

EXPLAIN SELECT * FROM USER;

可以查看该SQL语句有没有使用上了索引,有没有做全表扫描

20191230000844037650.png

l id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符.

l  select_type: SELECT 查询的类型.

l table: 查询的是哪个表

l  partitions: 匹配的分区

l  type: join 类型

l  possible_keys: 此次查询中可能选用的索引

l  key: 此次查询中确切使用到的索引.

l  ref: 哪个字段或常数与 key 一起被使用

l  rows: 显示此查询一共扫描了多少行. 这个是一个估计值.

l  filtered: 表示此查询条件所过滤的数据的百分比

l  extra: 额外的信息

性能分析语句 show profile

Query Profiler是MYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方,默认没打开,需手动打开

show profile 和show profiles 语句可以展示当前会话

l  show profiles :以列表形式显示最近发送到服务器上执行的语句的资源使用情况.显示的记录数由变量:profiling_history_size 控制,默认15条

l  show profile: 展示最近一条语句执行的详细资源占用信息,默认显示 Status和Duration两列 , 还可根据 show profiles 列表中的 Query_ID,选择显示某条记录的性能分析信息

查看是否打开

* select @@profiling;

* show variables like ‘%profil%’;

开启profile功能

* set profiling=1;--1是开启、0是关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值