mysql中起飞到达城市查询_让mysql慢慢起飞 - 初识慢日志
mysql优化的话,我一般会这样入手,从一个接口响应时间来说,如果响应时间超过1s,肯定是要优化的,保证网络问题ok的情况下,可进行如下调试:
1.先定位响应时间长的代码段可逐行注释,直接返回,如果当打开某一行代码时,发现速度明显变慢,即可确定当前代码拖慢了时间。
为什么不直接看慢日志呢?
因为程序中可能是各种小查询组合起来的,慢日志中看不到超时的sql语句
2.慢日志定位sql语句开启慢日志,修改my.cnf文件#安全模式修改,兼容老版本group
[mysqld]
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#慢日志
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql-slow.log
long_query_time = 1 #单位s,可设置为0.1上线前推荐
将慢日志参数long_query_time改为0,保证记录所有sql语句,然后走一遍测试环境,之后查看慢日志文件,来辅助修改和优化索引项查看慢日志文件记录的sqlmysqld, Version: 5.7.28-log (MySQL Community Server (GPL)). started with:
Tcp port: 0 Unix socket: /var/run/mysqld/mysqld.sock
Time Id Command Argument
# Time: 2020-02-25T15:25:10.543384Z
# User@Host: root[root] @ [172.23.0.1] Id: 2
# Query_time: 1.352161 Lock_time: 0.033811 Rows_sent: 10000 Rows_examined: 10000
use bbs_base;
SET timestamp=1582644310;
select `id`, `name`, `avatar` from `users` where `users`.`id` in (1520076, 1520081, 1520090);使用pt-query-digest工具分析
执行命令:/usr/local/percona-toolkit/bin/pt-query-digest ~/docker-volumes/mysql/log/mysql-slow.log
显示结果:# Query 2: 0.06 QPS, 0.03x concurrency, ID 0x3EE6E67A63457E7BF53837C718CB40F0 at byte 90923
# This item is included in the report because it matches --limit.
# Scores: V/M = 0.38
# Time range: 2020-02-25T16:02:46 to 2020-02-25T16:03:20
# Attribute pct total min max avg 95% stddev median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count 40 2
# Exec time 32 1s 236ms 890ms 563ms 890ms 462ms 563ms
# Lock time 0 209us 79us 130us 104us 130us 36us 104us
# Rows sent 49 19.53k 9.77k 9.77k 9.77k 9.77k 0 9.77k
# Rows examine 6 19.53k 9.77k 9.77k 9.77k 9.77k 0 9.77k
# Query size 0 410 205 205 205 205 0 205
# String:
# Databases bbs_base
# Hosts 172.24.0.1
# Users root
# Query_time distribution
# 1us
# 10us
# 100us
# 1ms
# 10ms
# 100ms ################################################################
# 1s
# 10s+
# Tables
# SHOW TABLE STATUS FROM `bbs_base` LIKE 'topics'\G
# SHOW CREATE TABLE `bbs_base`.`topics`\G
# EXPLAIN /*!50100 PARTITIONS*/
select `id`, `title`, `excerpt`, `user_id`, `category_id`, `reply_count`, `view_count`, `create_time` from `topics` where `delete_time` = 0 and ((`category_id` = 1)) order by `id` desc limit 10000 offset 0\G
3.小结
本章讲了,如何开启慢日志,查看慢日志,还简单介绍了慢日志分析工具,pt-query-digest,还说到在上线前要做的一件很重要的事情,通过修改参数long_query_time = 0,记录所有sql,来反过来辅助你修改和优化索引,下一次更新,将介绍slow.log中每一行的意思,good luck 待续...
mysql中起飞到达城市查询_让mysql慢慢起飞 - 初识慢日志相关推荐
- mysql中起飞到达城市查询_SQL航空网的几个航班查询题:
表结构如下: flight{flightID,StartCityID ,endCityID,StartTime} city{cityID, CityName) 实验环境: create table c ...
- mysql单台跨数据库查询_在MySQL中怎样进行跨库查询?
在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询:另一种是不同服务的跨库查询:它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询. 一.同服务的跨库查询 同服务的跨库查询只需要在关联 ...
- mysql中要创建choose数据库_在MySQL中要创建choose数据库,应该使用命令“crea
在MySQL中要创建choose数据库,应该使用命令"crea 在MySQL中要创建choose数据库,应该使用命令"createtablechoose;" 血压调节实验 ...
- mysql 变量作表名查询_使用MySQL函数变量作为表名查询
我需要有一个表中增加一定的ID(如AUTO_INCREMENT)函数使用MySQL函数变量作为表名查询 我有水木清华这样 DELIMITER $$ DROP FUNCTION IF EXISTS `G ...
- mysql中engine是什么意思_请问mysql中ENGINE=MyISAM代表什么意思?
2015-08-27 回答 1/isam isam是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数.因此,isam执行读取操作的速度很快,而且不 ...
- mysql分组和where条件查询_【MySQL】:分组查询where和having
分组查询 之前学习聚合函数,知道聚合函数在默认情况下,将会把所有的记录当成一组,让我们在对列求值,计算时更方便了一些. 但是,在某些情况下,我们需要显式地对记录进行分组,使用的是group by [c ...
- mysql中innodb的工作原理_解读MySQL的InnoDB引擎日志工作原理
当你使用UPDATE, INSERT, DELETE语句更新数据的时候,你就改变了两个地方的数据:log buffer和data buffers.Buffers是固定长度的内存块,通常是512字节. ...
- mysql 中英按字母排序_利用MySQL数据库来处理中英文取首字母排序
很久都没有写博客了, 但是也积攒了了很多的问题, 下次找个时间一起整理一下, 然后记录下来, 以备不时之需. 我们的联系人列表经常会有按照首字母排序的需求. 这个很方便, 很清晰, 如果不说性能如何 ...
- mysql怎么子查询_在mysql中如何进行子查询?
在mysql中,子查询是指将一个查询语句嵌套在另一个查询语句中,可以在SELECT.UPDATE和 DELETE语句中配合WHERE子句进行实现,WHERE子句中语法格式为"WHERE (另 ...
最新文章
- java+yeild+sleep_Java并发编程--yield sleep和wait的区别
- 【vue-router②】使用导航守卫控制页面前进刷新,后退缓存
- the fair-sounding
- redis安装后提示权限问题ERR operation not permitted
- 怎么取html网页中的样式,从建站到拿站 -- HTML和CSS基础
- 回声消除的昨天、今天和明天
- 在wdos系统下搭建Dns服务器
- (05)FPGA内部资源
- linux vi路径配置,Linux 下 Vi 配置文件 .vimrc 文件
- 移动App测试中Android测试和IOS测试有啥区别
- 从拉新、促活/留存和营收说起,做运营到底是在做什么?
- dnf时装补丁教程_DNF时装补丁制作教程
- iosSelect插件 H5中实现iOS的select下拉联动效果
- php生成二维码文字图片海报
- 蓝牙电话/耳机和蓝牙音乐profile
- OFDM学习、编程实现
- 荣耀note10鸿蒙os,荣耀Note20最新确认:7000mAh+双6400万+鸿蒙OS,售价感人
- 打字速度对编程的影响大吗?
- [附源码]Python计算机毕业设计餐厅订餐系统
- ASP源码:马克斯4.0内核的DM456动漫电影网站整站源码
热门文章
- redis命令执行流程分析
- tomcat加上了https后访问不了_西部数码使用指南:部署https后访问提示存在安全隐患的排查解决方法...
- python文件分块读取_Python多进程分块读取超大文件的方法
- flutter从0到1构建大前端应用 pdf_推荐前端热门GitHub代码库「值得收藏」
- c语言生产者与消费者实验报告,生产者和消费者实验报告.doc
- 原生JS大揭秘—数据类型
- ABBYY FineReader 12PDF选项卡之图像及文字设置
- 1748. The Most Complex Number/LG的数学计划~~~持续更新ing(反素数求解)
- Gradle Issue: OutOfMemoryError: PermGen space
- 在VC资源文件中加入声音资源