mysql优化一 之 优化内容概述及开启慢查日志的相关配置

1-1数据库优化的目的

首先是为了避免出现页面访问错误(基本有三种)

(1)由于数据库连接timeout产生的页面5XX错误

(2)由于慢查询造成页面无法加载

(3)由于阻塞造成的数据无法提交

其次:增加数据库的稳定性

     很多数据库问题都是由于低效的查询引起的

还有:优化用户体验

      流畅页面的访问速度

              良好的网站体验

1-2:优化概述

据图我们可以知道,数据库的优化主要是四个方面,其中从下往上成本越来越高,但是效果越来越低。瞬间赶脚咱们平时写的代码执行效率和建数据库时索引使用的恰不恰当对网站的流畅性是有多么大的影响了。

1-3:优化工具前奏:开启慢查日志的相关选项

以后的优化时肯定用到了优化工具帮助我们分析,在这之前要先将慢查日志的相关选项开启。

(1)show variables like ‘slow_query_log’; //查看慢查日志是否已经开启

如果没有通过下面代码开启;(当然是在登录之后才可以操作的mysql –u root –p)

(2)set global slow_query_log=on;

(3)查看慢查日志的存放位置(以后经常用这个文件哦~)

show variables like ‘slow_query_log_file’;

(4)开启没有使用索引的query就记录到数据库中

set globle log_queries_not_using_indexes=on;

(5)long_query_time默认为10秒(超过)当然设置短了会有大量的慢查日志产生

东西多了不好消化,今天只是前奏 ,下一节讲mysqldumpslow和pt-query-digest两种mysql分析工具怎么进行分析

时间: 2024-07-30 10:20:00

mysql优化一 之 优化内容概述及开启慢查日志的相关配置的相关文章

mysql性能优化-索引与优化

http://hongge.blog.51cto.com/ 一.MySQL性能优化之-影响性能的因素 1.商业需求的影响 不合理需求造成资源投入产出比过低,这里我们就用一个看上去很简单的功能来分析一下. 需求:一个论坛帖子总量的统计,附加要求:实时更新 从功能上来看非常容易实现,执行一条SELECT COUNT(*) from 表名 的Query 就可以得到结果.但是,如果我们采用不是MyISAM 存储引擎,而是使用的Innodb 的存储引擎,那么大家可以试想一下,如果存放帖子的表中已经有上千万

[MySQL Reference Manual] 8 优化

8.优化 8.优化... 1 8.1 优化概述... 1 8.2 优化SQL语句... 1 8.2.1 优化SELECT语句... 1 8.2.1.1 SELECT语句的速度... 1 8.2.1.2 WHERE子句优化... 1 8.2.1.3 Range优化... 1 8.2.1.4 索引合并(Index Merge)优化... 1 8.2.1.5 引擎Pushdown条件优化... 1 8.2.1.6 索引条件Pushdown优化... 1 8.2.1.7 使用索引扩展... 1 8.2.

MySQL 数据库性能优化之SQL优化

前言 有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧. 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础. 优化目标 1.减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段. 2.降低 CPU 计算 除了 IO 瓶颈之外,SQL优化中需要考虑的就

MySQL 性能优化---索引及优化

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 一.MySQL性能优化之-影响性能的因素 1.商业需求的影响 Myisam存储引擎内置一个计数器,count(*)时直接从计数器读取:而通过innodb存储引擎查找某个数据时,是必须扫描全表的,所以当执行对表的统计(即使用count(*)函数)时,myisam要比innodb要快的很多.所以一般在innodb上执行count(*)时一般要

MySql数据库3【优化3】缓存设置的优化

1.表缓存 相关参数: table_open_cache 指定表缓存的大小.每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容.通过检查峰值时间的状态值,如果发现open_tables等于table_cache,并且opened_tables在不断增长,那么就需要增加table_open_cache的值了.注意,不能盲目地把这个参数设置得很大,如果设置太大,会引起文件描述符不足,造成性能不稳定或者数据库连接失败.建议为512 table_cac

mysql基本介绍和优化技巧

一. mysql框架和基本介绍 1. 框架图 更详细: 2. 存储引擎 MYISAM与INNODB对比: MYISAM:mysql5.1及以前版本的默认存储引擎.支持全文检索,压缩,表级锁等,但不支持事务,行级锁,崩溃后的数据恢复等 INNODB:mysql5.5及之后的默认存储引擎.支持事务,行级锁,数据恢复,mysql5.6 中的innodb(1.2)支持全文检索. 如何选择:innodb对于绝大多数的用户都是最佳的选择,除非某些存储引擎能满足特殊需求且使用者很了解这种存储引擎. 二. 查询

MySql学习(五) —— 数据库优化理论篇(一)

一.数据库管理系统 数据库管理系统(Database Management System, DBMS) 衡量是否是数据库的标准: ACID:是指在数据库管理系统(DBMS)中事务所具有的四个特性: 1) 原子性(Atomicity) 2) 一致性(Consistency) 3)隔离性(Isolation) 4)持久性(Durability) 1.关系型数据库:是建立在关系数据库模型基础上的数据库,借助于关系代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式

MySQL大数据的优化以及分解存储

            MySQL大数据的优化以及分解存储 前言:在上一章介绍了MySQL的优化以及优化的思路,那么如果有一种情况如果数据库已经建立好了索引,在使用sql语句索引查询时:但是在慢查询日志当中任然找到了之前的sql语句会有哪几种情况: 1):sql语句的索引没有起到效果, 2):查询的数据量过大,造成数据的查询缓慢, 在工作当中每个数据库都会存在庞大的数据量,比如说访问量等等都会造成数据的查询缓慢,那么如何解决这个问题,接下来往下看: 分区和分表: 我们的数据库数据越来越大,随之而

千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记

千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记 2007年3月,我写过一篇文章<解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记>( http://www.xiaohui.com/weekly/20070307.htm ),谈到自己在解决一个拥有 60 万条记录的 MySQL 数据库访问时,导致 MySQL CPU 占用 100% 的经过.在解决问题完成优化(optimize)之后,我发现 Discuz 论坛也存在这个问题,当时稍微提了一下: 发现此主