数据库调优教程(一)前言&慢查询定义

WBOY
풀어 주다: 2016-06-07 16:13:18
원래의
1295명이 탐색했습니다.

前言 最近帮公司优化数据库,凭着之前所学,一步一步地将学习知识用于实践,总算是将速度蹭上去了,一个原本要执行1分多钟的查询现在只需要3秒。 现把自己所学所思及所用加以总结,一方面为自己巩固知识,另一方面也给广大同学以一点点参考。 本套教程共十三

前言

最近帮公司优化数据库,凭着之前所学,一步一步地将学习知识用于实践,总算是将速度蹭上去了,一个原本要执行1分多钟的查询现在只需要3秒。

现把自己所学所思及所用加以总结,一方面为自己巩固知识,另一方面也给广大同学以一点点参考。

本套教程共十三讲。

在这系列的教程中,你将会学到

1. 如何一步步地优化数据库

2. 如何把索引的作用发挥的淋漓尽致

3. 如何解决Mysql在like’%xxx%’模糊查询的情况下不使用索引

4. 如何设计一张优质的表

5. 如何写出高质量的sql语句

6. 数据库优化的其他方法

首先,让我们从发现慢查询开始。

一、 发现慢查询

如何从一个大项目中,迅速的定位执行速度慢的语句,这是本章节将要解决的问题。

1. 慢查询的定义

怎样的查询才算是慢查询,有没有一个量化的标准呢?

慢查询定义

慢查询是指执行时间超过慢查询时间的sql语句。

查看慢查询时间的方法

show variables like 'long_query_time';
로그인 후 복사
可以显示当前慢查询时间。MySql默认慢查询时间为【本文来自鸿网互联 (http://www.68idc.cn)】10秒

\

可以通过如下语句对慢查询的定义进行修改

set global long_query_time=1;
로그인 후 복사
\

(如果你的mysql设置了缓存,那么需要重新进入命令行窗口才会查出变化)

需要注意的是,这个语句特意在变量前加上了global,表明这次的设置是对整个Mysql有效的,而默认情况下变量前的修饰符是session(会话),也就是只对当前窗口有效。

这一讲只是开个头,下一讲,我们会为慢查询的发生准备数据,即创建一张大表。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿