当前位置: 首页 > news >正文

MySQL OCP888题解048-letter N in slow query log(慢查询日志里的字母N)

文章目录

  • 1、原题
    • 1.1、英文原题
    • 1.2、中文翻译
    • 1.3、答案
  • 2、题目解析
    • 2.1、题干解析
    • 2.2、选项解析
  • 3、知识点
    • 3.1、知识点1:mysqldumpslow - 总结缓慢的查询日志文件
  • 4、实验
    • 4.1、实验1
      • 4.1.1、实验目的
      • 4.1.2、实验前准备
      • 4.1.3、实验步骤
      • 4.1.4、实验结论
  • 5、总结

1、原题

1.1、英文原题

You are using the mysqldumpslow utility to view the contents of the slow query log.
You notice the letter N and the character string ‘s’ in a number of locations in the output. What does the N indicate?
A、An abstracted substitution for numbers included in WHERE clauses
B、The name of the user issuing the statement
C、An abbreviation for NULL in a statement
D、The number of times the statement was executed

1.2、中文翻译

您正在使用mysqldumpslow实用程序查看慢速查询日志的内容。您注意到输出中的许多位置都有字母N和字符串“s”。N表示什么?
A、 WHERE子句中包含的数字的抽象替换
B、 发出声明的用户的名称
C、 语句中NULL的缩写
D、 语句的执行次数

1.3、答案

A

2、题目解析

2.1、题干解析

本题考察慢查询日志的格式。

2.2、选项解析

  1. MySQL的慢查询日志可以通过mysqldumpslow来查看,使用mysqldumpslow+默认选项时,显示出来的日志会把SQL中的数值替换为N,字符串替换为s。所以选项A正确,其他选项错误。

3、知识点

3.1、知识点1:mysqldumpslow - 总结缓慢的查询日志文件

通常mysqldumpslow将数字和字符串 "抽象 "为N和’S’。要修改数值抽象的行为,请使用-a和-n选项。
调用mysqldumpslow的语法:mysqldumpslow [options] [log_file …]
mysqldumpslow支持如下选项:

官方参考文档

4、实验

4.1、实验1

4.1.1、实验目的

确认慢查询日志中的N和S的含义。

4.1.2、实验前准备

已安装并运行的MySQL5.7

4.1.3、实验步骤

  1. 先查看MySQL是否打开了慢查询日志,慢查询的阈值是多少,日志位置在哪:可以看到慢查询日志已打开,阈值为0.5秒,位置在/home/mysql/localhost-slow.log
mysql> SHOW VARIABLES LIKE 'slow_query_log%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| slow_query_log      | ON                             |
| slow_query_log_file | /home/mysql/localhost-slow.log |
mysql> SHOW VARIABLES LIKE 'long_query_time';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 0.500000 |
  1. 为方便观察,先删除慢查询日志,再用flush logs生成新的慢查询日志:
$ rm  /home/mysql/localhost-slow.log
mysql> FLUSH LOGS; 
  1. 运行如下语句,因为有一个sleep(1),所以运行一定超过1秒,会被记录慢查询日志:
mysql> SELECT sleep(1),a.* FROM employees.titles a WHERE a.title like '%Engineer%' AND a.emp_no>499998 ;
+----------+--------+----------+------------+------------+
| sleep(1) | emp_no | title    | from_date  | to_date    |
+----------+--------+----------+------------+------------+
|        0 | 499999 | Engineer | 1997-11-30 | 9999-01-01 |
  1. 运行如下语句查看慢查询日志:
$ mysqldumpslow /home/mysql/localhost-slow.log 
Reading mysql slow query log from /home/mysql/localhost-slow.log
Count: 1  Time=1.00s (1s)  Lock=0.00s (0s)  Rows=1.0 (1), root[root]@localhostSELECT sleep(N),a.* FROM employees.titles a WHERE a.title like 'S' AND a.emp_no>N
  1. 跟之前的查询语句一对比,就知道N代表的是查询语句中的数字,而S代表的是查询语句中的字符串。

  2. 如果不希望将字符串替换为S,数字替换为N,只要在mysqldumpslow后面加上-a选项即可,如下所示:

$ mysqldumpslow -a  /home/mysql/localhost-slow.log 
Reading mysql slow query log from /home/mysql/localhost-slow.log
Count: 1  Time=1.00s (1s)  Lock=0.00s (0s)  Rows=1.0 (1), root[root]@localhostSELECT sleep(1),a.* FROM employees.titles a WHERE a.title like '%Engineer%' AND a.emp_no>499998

4.1.4、实验结论

慢查询日志中的N是替换慢SQL中的数值,s是替换慢SQL中的字符串。

5、总结

  1. MySQL的慢查询日志可以通过mysqldumpslow来查看,使用mysqldumpslow+默认选项时,显示出来的日志会把SQL中的数值替换为N,字符串替换为s。
  2. 如果不希望将字符串替换为S,数字替换为N,只要在mysqldumpslow后面加上-a选项即可。
http://www.lryc.cn/news/37438.html

相关文章:

  • 数据采集 - 笔记 2
  • 电子技术——数字IC技术,逻辑电路和设计方法
  • [ROS2 知识] 包依赖关系和rosdep详述
  • mysql创建索引导致死锁,数据库崩溃,完美解决方案
  • c++11 标准模板(STL)(std::unordered_map)(八)
  • 企业ISO体系认证办理,可以自行申请吗?为什么都要找咨询公司?
  • 二、Neo4j源码研究系列 - 单步调试
  • 基于Qt WebEngine 的Web仪器面板GUI程控技术
  • 海康摄像头使用RTSP
  • 编程语言分类
  • [nodejs开发] typescript引入js模块或文件
  • 小帮软件机器人应用于通信集团财务数据填报、编制、稽核、银企对账
  • 37. CF-Weights Distributing
  • 百丽时尚×优维科技×道客战略启动「云原生一体化项目」
  • 小诺开源技术
  • AidLux AI应用案例悬赏选题 | 纺织品表面瑕疵检测
  • UE官方教程笔记02-实时渲染基础下
  • grep命令——在文件中搜索指定的文本模式
  • 数据结构刷题(二十二):90子集II、491递增子序列、46全排列
  • AI+人类,实现高效网络安全
  • 牛客小白月赛68【A-E】
  • WIFI P2P架构
  • 架构师之中台思维_系统发展之路_结果和抽象之间平衡的艺术
  • 23届非科班选手秋招转码指南
  • 《传感器技术》考试学习笔记
  • 第十五章 opengl之高级OpenGL(模板测试)
  • 【C语言蓝桥杯每日一题】—— 单词分析
  • Web2:Tomcat
  • C++语法规则2(C++面向对象)
  • 第八批国家药品集中采购-(附药品集采目录明细下载)