1. Slow query log concept
Using explain to analyze SQL statements is to optimize SQL and index problems. For a real enterprise-level project, the SQL statements may reach tens of thousands, so we cannot explain and analyze them one by one. Where can we get those long-running, performance-consuming SQL? ?
We can open the slow query log:
Estimate a time limit (20ms, 100ms) based on the specific business and concurrency, and start the business after setting it. After the stress test, open the slow query log, and you will see the SQL that exceeds the execution time, and then use explain to analyze these time-consuming SQL statements.
The steps are as follows:
Open Slow query log switch
slow_query_log
Set a reasonable slow query time limit that is acceptable to the business
Stress test execution Various businesses
Check the slow query log and find out all the SQL statements that take time to execute
Use explain to analyze these time-consuming SQL statements , thereby targeted optimization
MySQL can set up slow query logs. When the execution time of SQL exceeds the time we set, these SQLs will be recorded in the slow query log, and then We check the logs and use explain to analyze the execution plans of these SQLs to determine why the efficiency is low. Is it because the index is not used? Or is there something wrong with the creation of the index itself? Or the index is used, but because the amount of data in the table is too large, it takes a long time. At this time, we can divide the table into multiple small tables, etc.
The parameters related to the slow query log are as follows:
(Many global switches defined by MySQL are stored in global variables, which can be viewed with show/set variables
Or set the value of global variables)
The slow query log switch is turned off by default
The path of the slow query log: the default is /var/lib/mysql/
下
The slow query log records logs containing all SQL statements whose execution time exceeds the value set by the parameter long_query_time (unit: seconds). You can view it with the command on MySQL, as follows:
This value can be modified:
2. Slow query log practice
1. Turn on the slow query log switch slow_query_log
When the slow query log switch is turned on, an error message indicates that slow_query_log is a global variable (there are also variables that only affect the current session, such as: long_query_time, profiling ), the modification will affect all sessions, that is, all clients accessing the current MySQL server.
Successfully turned on the slow query log switch!
2. Set a reasonable and business-acceptable slow query time upper limit long_query_time
View another session
It was found that the default value is still 10s, so long_query_time only affects the current session
3. Stress test to execute various services
Already Exceeds the long_query_time=0.1s we set
4. Check the slow query log
Path: /var/lib/mysql/
5. Use explain to analyze these time-consuming SQL statements to optimize them accordingly
Do Search the entire table and scan the entire primary key index tree.
We should add an index to the password, and then remember that the password is in string format, because if type conversion is involved, the index cannot be used
3. Show profiles to view the specific running time of SQL
MySQL generally only displays the time to two decimal places
Turn on the profiling switch to display more detailed time
No error is reported, indicating that the profiling variable only affects the current session
The above is the detailed content of MySQL slow log query example analysis. For more information, please follow other related articles on the PHP Chinese website!

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Chinese version
Chinese version, very easy to use

Dreamweaver CS6
Visual web development tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software
