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

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

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

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

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

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

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

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

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


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具