【Mysql优化三章】第一章
如今网上的好多mysql优化写的都非常宽泛。没什么实际的价值。今天我们从目的,思路,工具几个方面着重讲一下。
目的:
我们mysql优化的目的是什么呢?
避免数据库连接超时出现5xx错误。
避免慢查询造成页面无法载入。
避免堵塞造成数据无法提交。
我们一般就是从sql和索引,数据库表结构。系统设置,硬件。四个方面来进行优化,而sql和索引以及数据库表结构占领了我们sql优化的大部分内容,是我们优化的基础。
接下来我们就開始搞一波事。
我们连接我们的mysqlserver。然后我们输入命令:
show variables like ‘slow_query_log’;
目的是为了查看我们的慢查询日志是否打开;
http://mmbiz.qpic.cn/mmbiz_png/Vib7BluqnchEI4Sx4qlgqhD5wL5njBxd4sKtTSVb5RCUFqoqsPnKpc9eQeM7aSOcdGj68qoQ0nsiacDfrcQImByQ/640?
wx_fmt=png&wxfrom=5&wx_lazy=1" style="visibility:visible !important;" alt="640?wx_fmt=png&wxfrom=5&wx_lazy=1" />
ok ,非常明显我们的慢查询日志没有打开,那么我们先看一下没有使用索引的sql有没有被日志记录。
show variables like '%log%',然后我们能够看到
我这边是已经开启了的。假设你那里没有开启的话,我们仅仅须要输入命令
set global log_query_not_using_indexes = on;
这一条命令开启就能够了,然后我们指定一下我们的慢查询日志记录的时间。
假设你的mysql 没有设置过的话,这一项的值应该为0,意思就是每次查询都会被记录,可是在生产环境中,假设设置为0的话,那么会在一段时间内产生大量的慢查询日志,占用硬盘空间。
然后我们开启我们的慢查询日志:
set global slow_query_log = on;
wx_fmt=png" />
ok,到了这一步我们的慢查询日志就已经开启了。
ok我这有一个数据库,给大家到时候装上就能够了,首先看一下world数据库:
http://mmbiz.qpic.cn/mmbiz_png/Vib7BluqnchEI4Sx4qlgqhD5wL5njBxd4HmXJO9edwMVoWicaEmwI0H0o9B3hDL0UUnK5tlKeZePTibiaNxfZWZdUw/0?wx_fmt=png" alt="0?
wx_fmt=png" />
ok,一共三张表。我们随便写一个sql语句:
select * from country limit 20;
wx_fmt=png" alt="0?wx_fmt=png" />
好了,我们如今来查看一下我们的慢查询日志。
tail -20 /data/mysql/iZm5ec880z2roqZ-slow.log
wx_fmt=png" />
ok。日志中已经生成了我们刚才写的sql操作的日志,日志中包含了,sql运行的主机信息,sql运行的时间,sql运行的内容,sql运行的信息等。
我们接下来就使用mysql的工具来分析慢查询日志。第一个就是mysqldumpslow
wx_fmt=png" alt="0?wx_fmt=png" />
然后我们使用命令:
mysqldumpslow -t 3 慢查询日志路径
http://mmbiz.qpic.cn/mmbiz_png/Vib7BluqnchEI4Sx4qlgqhD5wL5njBxd44BiaeyMeHp4YD5srxtXEuIpCTIUPYYSx4f6fsiays8WW2D79c1WtYFYA/0?wx_fmt=png" alt="0?wx_fmt=png" />
我们也能够使用工具pt-query-digest来分析慢查询日志。这个我明天把软件装上我们再讲,本来想一口气全讲完的,看了看东西还不少。所以我们就分为三部分吧,明天讲sql和索引的优化。后天是系统设置和硬件。一般硬件的配置除非你是专业的DBA不然没多大用处。了解一下就能够了。
【Mysql优化三章】第一章的更多相关文章
- MySQL优化三(InnoDB优化)
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- 高性能MySQL(第4版) 第一章 MySQL架构 读书笔记
这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下, ...
- Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记
第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...
- Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记
第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...
- ASP.NET自定义控件组件开发 第一章 第三篇 第一章的完结篇
ASP.NET自定义控件组件开发 第一章 第三篇 第三篇:第一章的完结篇 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ...
- ASP.NET自定义控件组件开发 第一章 第一章:从一个简单的控件谈起
第一章:从一个简单的控件谈起 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第三 ...
- python全栈开放实践第三版第一章的练习题完成情况
练习题: 1.简述编译型与解释型语言的区别,且分别列出你知道哪些语言属于编译型,哪些数以解释型.1 编译型:只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可 ...
- Python 学习第三部分函数——第一章函数基础
函数是python 为了代码最大程度的重用和最小代码冗余而提供的最基本的程序结构.使用它我们可以将复杂的系统分解为可管理的部件. 函数相关语句 def... 创建一个对象并将其赋值给 ...
- mysql挖掘与探索------第一章(简介)
一.数据库简介: 1按照数据库发展时间,主要出现下面几个类型的数据库系统: a 网状型数据库 b 层次型数据库 c 关系型数据库 d 面向对象数据库 上面4中数据库系统中,关系型数据库使用最为广泛.面 ...
随机推荐
- C++ template —— tuple(十三)
本系列博文中我们使用同类容器(如数组类型)来阐述模板的强大威力,同时,C/C++还具有包含异类对象的能力.这里的异类指的是类型不同,或者结构不同.tuple就是这样的一个类模板,它能够用于聚集不同类型 ...
- (原创)Android Binder设计与实现 - 实现篇(1)
本文属于原创作品,转载请注明出处并放于明显位置,原文地址:http://www.cnblogs.com/albert1017/p/3849585.html 前言 在学习Android的Binder机制 ...
- Cufon在渲染网页字体你不知道的事
清单 1. 无效的 font-family 字体指定 <style> .introduction { font-family:'Baroque Script';} </style&g ...
- thinkphp3.2 实现点击图片或文字进入内容页
首先要先把页面渲染出来,http://www.mmkb.com/weixiang/index/index.html <div class="main3 mt"> < ...
- 脚本学习 game.sh
#!/bin/bash #game_error.sh ]]; then #$#表示参数个数 -lt小于 echo "Usage: game_error.sh time[20170710]&q ...
- PHP之Composer类库依赖管理神器
Composer中文版说明见:https://github.com/kaka987/Composer-zh Composer 是PHP的类包依赖管理工具,用它可以轻松的引用第三方类包,类似于node的 ...
- namespace main
c++程序运行的入口是::main 如果把main放到某个命名空间中,则系统就无法找到入口. 所以就有了为了测试功能的tools和test,其中没有命名空间.
- 【大数据系列】Hadoop DataNode读写流程
DataNode的写操作流程 DataNode的写操作流程可以分为两部分,第一部分是写操作之前的准备工作,包括与NameNode的通信等:第二部分是真正的写操作. 一.准备工作 1.首先,HDFS c ...
- Kerberos认证与攻击学习总结
0.背景 聆听了n1nty大佬(90后黑客代表)的谆谆指导,学习了n1nty大佬的基本操作,决定总结一下,做一个简要的读书笔记,也把之前自己记录的关于Windows的安全的一些博客能够串联起来.所以首 ...
- 2-2 vue环境搭建以及vue-cli使用
一.vue多页面应用文件引用 1.官网拷贝: <script src="https://cdn.jsdelivr.net/npm/vue"></script> ...