mysql status uptime_MySQL优化(四) 慢查询的定位及优化
一、SQL语句优化的一般步骤:
(1)通过 show status 命令了解各种 SQL 的执行效率;
(2)定位执行效率较低的 SQL 语句(重点是 Select);
(3)通过 explain 分析低效率的 SQL 语句的执行情况;
(4)确实问题并采取相应的优化措施;
二、优化
1、show status 命令
格式: show [session | global] status like ...
如果不写[session | global],默认的是session,即取出当前回话的执行情况;
如果想查询所有的(即MySql启动到现在的信息), 则增加 global 参数;
show status like "uptime" //查询MySql启动的时间;
show status like "com_select" //查询MySql的查询次数
show status like "com_insert" //查询MySql的插入次数
show status like "com_update" //查询MySql的更新次数
show status like "com_delete" //查询MySql的删除次数
show global status like "uptime" //查询MySql启动的时间;
show global status like "com_select" //查询MySql的查询次数
show global status like "com_insert" //查询MySql的插入次数
show global status like "com_update" //查询MySql的更新次数
show global status like "com_delete" //查询MySql的删除次数
show global status like "connections" //查询MySQL的连接数
show global status like "slow_queries" //获取慢查询的次数
2、如何查看和修改慢查询的时间?
默认情况下,MySql认为超过 10 秒才是一个慢查询;
(1)显示当前慢查询设置的时间:show variables like "long_query_time" ;
(2)修改慢查询的设置时间为1秒:set long_query_time=1
这时如果出现一条语句执行时间超过 1 秒, 就会统计到show global status like "slow_queries" 查询的结果中;
3、如何把慢查询的 sql 记录到日志中?
默认的情况下,mysql不会记录慢查询的 sql 日志;
慢查询的启动:https://www.cnblogs.com/luyucheng/p/6265594.html
慢查询的启动及慢查询日志分析:https://blog.csdn.net/timchen525/article/details/75268151
扩展知识
(1)一般情况下,分号作为命令结束符;在写的存储过程或函数中也有分号,如果不将命令结束符修改,则会使存储过程或函数提前结束;所以为了存储过程或函数能够正常执行,我们需要修改命令结束符。
delimiter $$
(2)删除自定义函数 rand_string
drop function rand_string $$
mysql status uptime_MySQL优化(四) 慢查询的定位及优化相关推荐
- mysql 创建表格time类型_记一次关于 Mysql 中 text 类型和索引问题引起的慢查询的定位及优化...
最近有用户反馈产品有些页面加载比较慢,刚好我在学习 Mysql 相关知识,所以先从 Mysql 慢查询日志开始定位: step1:通过慢查询日志定位具体 SQL 首先通过 SHOW VARIABLES ...
- mysql 查找数据过程_mysql数据库查询过程探究和优化建议
查询过程探究 我们先看一下向mysql发送一个查询请求时,mysql做了什么? 如上图所示,查询执行的过程大概可分为6个步骤: 客户端向MySQL服务器发送一条查询请求 服务器首先检查查询缓存,如果命 ...
- java trace优化_使用Arthas trace定位并优化接口响应慢的问题.md
## Arthas trace命令介绍 > **打印方法内部调用路径,并输出方法路径上的每个节点上耗时.** *trace命令只会trace匹配到的函数里的子调用,并不会向下trace多层.因为 ...
- 【《Real-Time Rendering 3rd》 提炼总结】(十二) 渲染管线优化方法论:从瓶颈定位到优化策略
本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处. 文章链接: https://zhuanlan.zhihu.com/p/32928016 这是一篇很特殊的文章.它将会是这个系列文章主线 ...
- 【转载】【《Real-Time Rendering 3rd》 提炼总结】(十二) 渲染管线优化方法论:从瓶颈定位到优化策略
本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处. 文章链接: https://zhuanlan.zhihu.com/p/32928016 这是一篇很特殊的文章.它将会是这个系列文章主线 ...
- mysql为何500w拆表_【mysql】MySQL 单表500W+数据,查询超时,如何优化呢?
1.问题描述: MySQL 数据库,单表 `im_data_record`,查询超时(30s) 表结构如下图: 表索引如下图: 查询语句如下: SELECT `record_global_id`, ` ...
- MySQL 学习笔记(四)——查询练习
查询练习 1.准备数据 准备创建 几个表: 学生表(Student):学号.姓名.性别.出生年月日.班级 课程表(Course):课程号.课程名称.教师编号 成绩表(Score) :学号.课程号.成绩 ...
- 查看oracle自动优化,使用索引查询更快,优化器为何不能自动识别
本帖最后由 〇〇 于 2015-12-24 12:17 编辑 有如下查询,不加hint时,优化器自己选择的执行计划是走全表扫描,花费时间很长, 但加hint强制让大表走skip index时间很短,根 ...
- 如何在日志中查找mysql日志临时密码_通过查询日志定位持有锁的SQL语句
MYSQL 版本: mysql> select version(); +------------+ | version() | +------------+ | 5.6.27-log | +- ...
最新文章
- Python如何在以数字命名的文件前补0
- 条件随机场的矩阵表示
- linux怎么改程序图标,如何在Ubuntu Unity上更换应用程序图标
- html用颜色区分不同区间数据_最新数据可视化指南
- mysql分隔符声明_MySQL分隔符发生错误时?
- 自动论文生成器 python_Python生成器常见问题及解决方案
- stylus之插值(Interpolation)
- 苹果应用上架,图片的要求(2017年4月27日)
- 第六章 面向对象的程序设计 数据属性+访问器属性
- 罗振宇2021跨年演讲3:谁能跳出数字化系统困境?
- 4.25 C语言练习(然后是几点:根据起始时间和流逝的时间计算出终止时间。计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。)
- 中国大学慕课《数据挖掘与python实践》期末测验版本3
- ios 字体 机打动效_24种打动朋友的方法
- 树莓派安装NOOBS失败
- ipvs命令~创建VS/NAT模式集群
- 视频教程-微信小程序项目实战之我画你猜视频课程-微信开发
- 国内应届生是不是把算法题刷得滚瓜烂熟就能进Google了?
- 关于判断一个点是否落在矩形内
- JDK卸载和彻底删除
- suse linux关机命令,suse linux 常用命令
热门文章
- layui table异步调用数据的时候,数据展示不出来现象解决方案
- 【实践】Angel深度学习在腾讯广告推荐训练优化中的实践
- 【报告分享】2020年创新报告-埃森哲.pdf(附下载链接)
- 【报告分享】砥砺前行 智启新章:2019-2020中国银行业发展回顾与展望.pdf(附下载链接)...
- 【报告分享】华为2019年财报.pdf(附下载链接)
- gcc编译ceres-solver报错‘is_trivially_default_constructible’ is not a member of ‘std’
- MPEG-4视频编码核心思想
- 功能机也不放过,谷歌或为 Chrome 提供非触控模式
- vue-count-to插件使用方法
- ftp服务器搭建与使用