第六章 优化服务器设置--高性能MySQL 施瓦茨

MySql的默认配置不适用于使用大量资源,因为其通用性很高。

不要期望改变配置文件会带来巨大得性能提升。提升大小取决于工作负载,通常可以通过选择适当的配置参数得到两到三倍得性能提升。在这时候,性能提升就是增量的。为了更大得提升,通常要检查服务器架构,查询及应用程序的架构。

6.1配置基础知识

  1 首先要知道MySQL从什么地方获取配置信息。(可以用启动脚本 --defaults-file=配置文件位置)

  2 配置文件被分成了若干部分,每部分第一行都是 [程序名]

mysql程序会读取和程序名同名的部分,并且许多客户端会读取client部分,这儿也是放置通用设置的地方。

服务器通常会读取mysqld部分。

6.1.1 语法,作用域及动态性

  配置设置都是小写的,使用下划线或破折号分割单词。

  配置设置有几种作用域。一些设置在整个服务器内都有效(全局域);另外一些针对每个连接(会话域);还有一些只对对象有效。许多会话域的变量和全局变量是一样的,可以认为是全局变量提供了默认值。如果修改了会话域变量的值,它只会在当前的连接内有效,连接关闭后值就消失了。

  值得注意的例子:

  * query_cache_size变量是全局性的

  * sort_buffer_size变量有全局性的默认值,但是可以在会话中设置

  * join_buffer_size有全局的默认值,并且可以在会话中进行设置。

除了在配置文件中设置变量,也可以在服务器运行的时候对某些值(不是全部值)进行设置。MySQL把它们叫做动态变量。

eg:

mysql> SET sort_buffer_size = <value>;

mysql> SET GLOBAL sort_buffer_size = <value>;

第六章 优化服务器设置--高性能MySQL 施瓦茨

时间: 2024-10-09 20:04:55

第六章 优化服务器设置--高性能MySQL 施瓦茨的相关文章

《高性能MySQL》读书笔记--优化服务器设置

MySQL有大量可以修改的参数--但不应该随便去修改.通常只需要把基本的项配置正确(大部分情况下只有很少一些参数是真正重要的),应该将更多的时间花在schema的优化.索引,以及查询设计上.在正确地配置了MySQL的基本配置项之后,再花力气去修改其它配置项的收益通常就比较小了. 1.创建MySQL配置文件 建议不要使用操作系统的安装包自带的配置文件,最好从头开始创建一个配置文件.(首先要确定MySQL使用了哪个配置文件!) 2.InnoDB缓冲池(Buffer Pool) 有一个流行的经验法则说

【MySQL】《高性能MySQL》学习笔记,第四章,Schema与数据类型优化

[MySQL]<高性能MySQL>学习笔记,第四章,Schema与数据类型优化 良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计schema. 反范式的设计可以加快某些类型的查询,单同时可能使另一类型的查询变慢,比如添加计数表和汇总表是一种很好的优化查询的方式,但这些表的维护成本可能会很高. 1.选择优化的数据类型 更小的通常更好. ? 应该尽量使用可以正确存储数据的最小类型,更小的数据类型通常更快,因为他们占用更少的磁盘,内存和CPU缓存,并且处理时需要的CPU周

第13章 MySQL服务器的状态--高性能MySQL学习笔记

13.1 系统变量 -- 服务器配置变量 MySQL通过SHOW VARIABLES  SQL命令显示许多系统变量. 13.2 状态变量--SHOW STATUS SHOW STATUS 命令会在一个由两列(名称/值)组成的表格里显示服务器状态变量.这些变量都是只读的. SHOW STATUS默认显示会话变量,SHOW GLOBAL STATUS显示全局变量. 也可以从INFORMATION_SCHEMA.GLOBAL_STATUS和INFORMATION_SCHEMA.SESSION_STAT

【MySQL】《高性能MySQL》 学习笔记,第三章,服务器性能剖析

第三章:服务器性能剖析 ? 本章将针对如下三个问题进行解答: ? 如何确认服务器是否达到了性能最佳的状态 ? 找出某条语句为什么执行不够快 ? 诊断被用户描述成"停顿","堆积","卡死"的某些间歇性疑难故障 1.性能优化简介: ? 针对性能问题,1000个DBA,有1000个回答.诸如,"QPS","CPU Load","可扩展性"之类. 原则一:我们将性能定义为完成某件任务所需要的时

《高性能MySQL》第三章MySQL服务器性能剖析学习笔记

MySQL性能优化介绍 什么是性能优化呢?其实我们往往从广义的定义是觉得一个MySQL系统的非功能性的优化都会看作是性能优化,比如我们会将数据库服务器的稳定性.每秒执行的SQL查询数目.系统的可扩展性.cpu利用率等等特性的优化都会看成是MySQL的性能优化. 我个人比较赞同本书的观点是MySQL性能优化应该就是指MySQL的查询响应时间的优化,MySQL性能优化就是将查询响应时间优化到一个客户或者用户体验能够接受的一个程度.

高性能mysql 4,5,6章优化总结

针对数据库的优化,我们不能单纯的说从哪一个方面,需要结合数据表的建立,数据类型的选择,索引的设计和sql语句来考虑,我就针对怎么建表,怎么选择数据类型,如何应用B-tree索引,hash索引和覆盖索引的特点来建立高效的索引策略,然后我具体对 count()查询,最大最小值查询,关联查询,子查询,GROUP BY ,limit 分页,Union查询做一些具体的说明,最后我说一下怎样使用切分查询和分解关联查询来重构我们的查询方式, 一.数据表的设计 首先我们要根据范式化和反范式化各自的优缺点,选择一

MySQL cookbook读书笔记第六章

1,修改MySQL中的日期的格式 在显示一个日期值时,如果没有特别指定,MySQL按照ISO格式显示日期即(CCYY-MM0DD).如果不希望按照MySQL的默认格式输出时间和日期值,可以使用date_format()或者time_format()函数按照用户期望的格式重写日期或者时间值 date_format(),time_format()和str_to_date()三个函数都接受格式化串作为参数: 2,设置客户端时区 如果客户端和服务器处在不同的时区,那么客户端在服务器上保存timestam

高性能MySQL之【第十五章 备份与恢复】学习记录

  我们不打算包括的话题: 安全(访问备份,恢复数据的权限,文件是否需要加密) 备份存储在哪里,包括他们应该离源数据多远,以及如何将数据从源头移动到目的地 保留策略.审计.法律要求,以及相应的条款 存储解决方案和介质,压缩,以及增量备份 存储的格式 对备份的监控和报告 存储层内置备份功能,或者其他专用设备,例如预制式文件服务器 还原意味着从备份文件中获取数据,可以加载这些文件到MySQL里,也可以将这些文件放置到MySQL期望的路径中.恢复一般意味着当某些异常发生后对一个系统或者其部分的拯救,包

高性能MySQL(四)—Schema与数据类型优化(1)

Schema与数据类型优化 选择优化的数据类型 下面是一些简单的原则: 更小的通常更好 一般情况下,应该尽量使用可以正确存储的最小数据类型.如:只需要存储0-200, tinyint unsigned就比较好.小的数据类型占的磁盘.内存和CPU缓存都较少,并且处理时需要的CPU周期数也更少. 简单就好 简单数据类型额操作通常需要更少的CPU周期.如:应该使用MySQL的內建类型来存储时间和日期而不是字符串.如:应该用整型存储IP地址. 尽量避免null 通常情况下最好指定列为NOT NULL,除