一、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优化(四) 慢查询的定位及优化相关推荐

  1. mysql 创建表格time类型_记一次关于 Mysql 中 text 类型和索引问题引起的慢查询的定位及优化...

    最近有用户反馈产品有些页面加载比较慢,刚好我在学习 Mysql 相关知识,所以先从 Mysql 慢查询日志开始定位: step1:通过慢查询日志定位具体 SQL 首先通过 SHOW VARIABLES ...

  2. mysql 查找数据过程_mysql数据库查询过程探究和优化建议

    查询过程探究 我们先看一下向mysql发送一个查询请求时,mysql做了什么? 如上图所示,查询执行的过程大概可分为6个步骤: 客户端向MySQL服务器发送一条查询请求 服务器首先检查查询缓存,如果命 ...

  3. java trace优化_使用Arthas trace定位并优化接口响应慢的问题.md

    ## Arthas trace命令介绍 > **打印方法内部调用路径,并输出方法路径上的每个节点上耗时.** *trace命令只会trace匹配到的函数里的子调用,并不会向下trace多层.因为 ...

  4. 【《Real-Time Rendering 3rd》 提炼总结】(十二) 渲染管线优化方法论:从瓶颈定位到优化策略

    本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处.   文章链接: https://zhuanlan.zhihu.com/p/32928016 这是一篇很特殊的文章.它将会是这个系列文章主线 ...

  5. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(十二) 渲染管线优化方法论:从瓶颈定位到优化策略

    本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处.   文章链接: https://zhuanlan.zhihu.com/p/32928016 这是一篇很特殊的文章.它将会是这个系列文章主线 ...

  6. mysql为何500w拆表_【mysql】MySQL 单表500W+数据,查询超时,如何优化呢?

    1.问题描述: MySQL 数据库,单表 `im_data_record`,查询超时(30s) 表结构如下图: 表索引如下图: 查询语句如下: SELECT `record_global_id`, ` ...

  7. MySQL 学习笔记(四)——查询练习

    查询练习 1.准备数据 准备创建 几个表: 学生表(Student):学号.姓名.性别.出生年月日.班级 课程表(Course):课程号.课程名称.教师编号 成绩表(Score) :学号.课程号.成绩 ...

  8. 查看oracle自动优化,使用索引查询更快,优化器为何不能自动识别

    本帖最后由 〇〇 于 2015-12-24 12:17 编辑 有如下查询,不加hint时,优化器自己选择的执行计划是走全表扫描,花费时间很长, 但加hint强制让大表走skip index时间很短,根 ...

  9. 如何在日志中查找mysql日志临时密码_通过查询日志定位持有锁的SQL语句

    MYSQL 版本: mysql> select version(); +------------+ | version()  | +------------+ | 5.6.27-log | +- ...

最新文章

  1. Python如何在以数字命名的文件前补0
  2. 条件随机场的矩阵表示
  3. linux怎么改程序图标,如何在Ubuntu Unity上更换应用程序图标
  4. html用颜色区分不同区间数据_最新数据可视化指南
  5. mysql分隔符声明_MySQL分隔符发生错误时?
  6. 自动论文生成器 python_Python生成器常见问题及解决方案
  7. stylus之插值(Interpolation)
  8. 苹果应用上架,图片的要求(2017年4月27日)
  9. 第六章 面向对象的程序设计 数据属性+访问器属性
  10. 罗振宇2021跨年演讲3:谁能跳出数字化系统困境?
  11. 4.25 C语言练习(然后是几点:根据起始时间和流逝的时间计算出终止时间。计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。)
  12. 中国大学慕课《数据挖掘与python实践》期末测验版本3
  13. ios 字体 机打动效_24种打动朋友的方法
  14. 树莓派安装NOOBS失败
  15. ipvs命令~创建VS/NAT模式集群
  16. 视频教程-微信小程序项目实战之我画你猜视频课程-微信开发
  17. 国内应届生是不是把算法题刷得滚瓜烂熟就能进Google了?
  18. 关于判断一个点是否落在矩形内
  19. JDK卸载和彻底删除
  20. suse linux关机命令,suse linux 常用命令

热门文章

  1. layui table异步调用数据的时候,数据展示不出来现象解决方案
  2. 【实践】Angel深度学习在腾讯广告推荐训练优化中的实践
  3. 【报告分享】2020年创新报告-埃森哲.pdf(附下载链接)
  4. 【报告分享】砥砺前行 智启新章:2019-2020中国银行业发展回顾与展望.pdf(附下载链接)...
  5. 【报告分享】华为2019年财报.pdf(附下载链接)
  6. gcc编译ceres-solver报错‘is_trivially_default_constructible’ is not a member of ‘std’
  7. MPEG-4视频编码核心思想
  8. 功能机也不放过,谷歌或为 Chrome 提供非触控模式
  9. vue-count-to插件使用方法
  10. ftp服务器搭建与使用