search
HomeDatabaseMysql Tutorial深入mysql慢查询设置的详解_MySQL
深入mysql慢查询设置的详解_MySQLJun 01, 2016 pm 01:24 PM
mysqlweb developmenthowprogramWeb page

bitsCN.com

在web开发中,我们经常会写出一些SQL语句,一条糟糕的SQL语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化SQL语句将那些运行时间 比较长的SQL语句找出呢?MySQL给我们提供了一个很好的功能,那就是慢查询!所谓的慢查询就是通过设置来记录超过一定时间的SQL语句!那么如何应用慢查询呢?

1.开启MySQL的慢查询日志功能
默认情况下,MySQL是不会记录超过一定执行时间的SQL语句的。要开启这个功能,我们需要修改MySQL的配置文件,windows下修改my.ini,Linux下修改my.cnf文件,在[mysqld]最后增加如下命令:

slow_query_log
long_query_time = 1

2.测试慢查询日志功能
(1)进入MySql控制台,执行如下语句:

select sleep(2);

mysql> select sleep(2);
+----------+
| sleep(2) |
+----------+
|        0 |
+----------+
1 row in set (2.12 sec)
(2)查看慢查询日志文件think-slow.log,在文件最后发现:

# Time: 121120 20:06:23
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 2.104120  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1353413183;
select sleep(2);

3.解释:
(1)slow_query_log 这句是开启记录慢查询功能,slow_query_log=0关闭;slow_query_log=1开启(这个1可以不写)

(2)long_query_time = 1 这句是记录超过1秒的SQL执行语句

(3)那么这个日志文件存放在什么地方呢?
默认是放在mysql的data目录,并且文件名为host_name-slow.log即 主机名-slow.log,比如在笔者的开发机上就是THINK-slow.log(因为偶用的Thinkpad,呵呵)

(4)如果日志文件不想放在data目录,我们可以通过如下配置指定存放的目录及日志文件名:
slow_query_log_file=file_name
其中file_name就是你的存放日志的目录和文件名,在这里注意有的资料上可能是log-slow-queries=file_name,这个在mysql5.5版已经过时!

4.如何记录低于1s的慢查询记录呢?
MySQL5.21版以前long_query_time 参数的单位是秒,默认值是10。这相当于说最低只能记录执行时间超过 1 秒的查询,怎么记录查询时间超过100毫秒的SQL语句记录呢?在mysql5.21+后版本支持毫秒记录
(1)进入MySql控制台,运行如下sql语句:

set global long_query_time=0.1

该句是设置记录慢查询超过时间100ms的SQL,记住要重启mysql才能生效!
(2)测试
进入mysql控制台,执行如下sql语句:

select sleep(0.5);

查看慢查询日志文件,我们看到最后添加的新信息:

# Time: 121120 20:42:06
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 0.500028  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1353415326;
select sleep(0.5);

bitsCN.com
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Python web开发中的异步处理技巧Python web开发中的异步处理技巧Jun 17, 2023 am 08:42 AM

Python是一门非常流行的编程语言,在Web开发领域中也有广泛应用。随着技术的发展,越来越多的人开始使用异步方式来提高网站性能。在这篇文章中,我们将探讨Pythonweb开发中的异步处理技巧。一、什么是异步?传统的Web服务器使用同步方式处理请求。当一个客户端发起一个请求时,服务器必须等待该请求完成处理后,才能继续处理下一个请求。在高流量的网站上,这种同

如何在Go中使用CGI?如何在Go中使用CGI?May 11, 2023 pm 04:01 PM

在Go中使用CGI,是一种常见的Web开发技术。本文将介绍如何在Go中使用CGI来实现Web应用程序。什么是CGI?CGI即通用网关接口(CommonGatewayInterface),是一种标准的Web服务器和其他应用程序之间进行交互的协议。通过CGI,Web服务器可以将请求发送给其他应用程序,然后接收其响应并将其发送回客户端。CGI是一种非常灵活和可

Python web开发中常见的安全漏洞Python web开发中常见的安全漏洞Jun 17, 2023 am 11:04 AM

随着Python在Web开发中的广泛应用与日俱增,其安全性问题也逐渐引起人们的关注。本文将就Pythonweb开发中常见的安全漏洞进行探讨,旨在提高Python开发者的安全意识以及对安全漏洞的认识与防范。跨站脚本攻击(XSS攻击)跨站脚本攻击是一种常见的Web安全漏洞,攻击者通过在网页中注入恶意脚本,获取用户的敏感信息或执行恶意操作。在Pythonweb

Python中的Web开发框架BottlePython中的Web开发框架BottleJun 10, 2023 am 09:36 AM

Bottle,是一款轻量级的PythonWeb开发框架。它具有基于路由的请求分发器,集成了WSGI服务器,自带模板引擎和具备Python数据类型转JSON的能力等。Bottle的使用非常简单,尤其适合小型项目、API开发和快速原型开发。下面将从Bottle的特点、安装、使用、部署等几个方面介绍Bottle。一、Bottle的特点轻量级Bottle是一个注

Python web开发中的数据可视化技术Python web开发中的数据可视化技术Jun 17, 2023 am 11:32 AM

Pythonweb开发中的数据可视化技术随着数据分析和挖掘的快速发展,数据可视化已然成为其中不可或缺的一部分。Python作为一门强大的编程语言,也成为许多数据科学家和分析师喜爱的工具之一。在Pythonweb开发中,数据可视化技术的应用也变得越来越重要。本文将介绍Pythonweb开发中常用的数据可视化技术及其使用方法。MatplotlibMatpl

Python web开发中的访问控制问题Python web开发中的访问控制问题Jun 17, 2023 am 09:40 AM

Python的Web开发随着互联网时代的到来成为越来越普遍的技术选择,但是在Web应用的开发中,安全问题一直是个长期而且重要的话题。特别是对于访问控制这一问题,很多开发者都不太能处理好。在这篇文章中,我将介绍PythonWeb开发中的访问控制问题,并提供一些解决方案。什么是访问控制?访问控制是指限制一个系统或应用程序中的某一部分被哪些人或者哪些程序所访问的

如何使用 Go 语言进行 Web 开发?如何使用 Go 语言进行 Web 开发?Jun 10, 2023 am 08:25 AM

随着互联网的快速发展,Web开发成为了一个重要的领域,而Go语言作为一门具有高并发和简洁语法的语言,越来越受到开发者的关注。本文将介绍如何使用Go语言进行Web开发。一、安装Go语言首先,需要在官网下载并安装Go语言的最新版。安装完成后,可以在终端输入"goversion"命令来验证是否成功安装。二、选择Web框架Go语言有

Python web开发中加密和解密技巧Python web开发中加密和解密技巧Jun 17, 2023 pm 12:53 PM

Python已经成为了Web开发中的重要语言之一,而加密和解密技术又是Web开发中不可或缺的一部分。在本文中,我将介绍Python中加密和解密技巧。加密和解密简介在Web开发中,数据的安全性始终是至关重要的,尤其是需要传输一些机密数据的时候。因此,加密和解密技术就应运而生,它可以对数据进行保护,确保只有合法的用户才能访问或处理这些数据。简单来说,加密就是将原

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

mPDF

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),