MySQL优化之二:My SQL Server性能优化

1 安装优化

一般说来,系统功能越多越复杂,性能就会越差。因此在编译安装MySQL时,仅安装需要的功能模块。如存储引擎、需要的字符集等,让系统尽可能的简单。

2 日志设置优化

由于日志记录直接带来的性能损耗就是数据库最为昂贵的I/O资源,因此在默认情况下MySQL仅开启了错误日志,关闭了其它所有日志。但是在生产环境中,至少需要打开二进制日志和慢查询日志,前者是增量备份的基础,而后者有利于进一步对数据库进行优化。通常情况下,生产环境中很少会打开一般查询日志,如果打开,数据库会记录每一条操作记录对系统I/O性能影响很大。

查看二进制日志设置,默认关闭:

mysql> show variables like ‘%log%bin%‘;

+---------------------------------+-------+

| Variable_name                   | Value |

+---------------------------------+-------+

| log_bin                         | OFF   |

| log_bin_basename                |       |

| log_bin_index                   |       |

| log_bin_trust_function_creators | OFF   |

| log_bin_use_v1_row_events       | OFF   |

| sql_log_bin                     | ON    |

+---------------------------------+-------+

6 rows in set (0.00 sec)

查看慢查询日志设置,默认关闭:

mysql> show variables like "slow%";

+---------------------+-----------------------------+

| Variable_name       | Value                       |

+---------------------+-----------------------------+

| slow_launch_time    | 2                           |

| slow_query_log      | OFF                         |

| slow_query_log_file | /data/mysql/slave2-slow.log |

+---------------------+-----------------------------+

3 内存优化

key_buffer_size:MyISAM引擎索引缓存的大小,4G内存建议设为256M,最大不超过4G

read_buffer_size:读查询(顺序读)使用的缓冲区大小,默认为128KB,此值为每个连接独享因此不能太大,在生产环境中,应进行多次测试,找到最佳值(为4KB的倍数)

read_rnd_buffer_size:读查询(随机读)使用的缓冲区大小,默认为256KB,同样是每个连接独享,一般来讲,可以适当调大

max_connections:MySQL允许的最大连接数,默认为151,如果主机性能和内存允许的话,500-800较为合适

thread_cache_size:Thread_cache池中可以缓存的连接线程最大数量,建议100以内

时间: 2024-12-20 01:02:46

MySQL优化之二:My SQL Server性能优化的相关文章

SQL Server 性能优化(一)——简介

原文:SQL Server 性能优化(一)--简介 一.性能优化的理由: 听起来有点多余,但是还是详细说一下: 1.节省成本:这里的成本不一定是钱,但是基本上可以变相认为是节省钱.性能上去了,本来要投入的硬件就可以减缓投入,从另外一个角度看来它就是节省了钱. 2.增加效率:对于客户来说,性能上去了,他们的工作效率也高了. 3.降低挫折感:性能底下,客户抱怨,无疑是对自己心灵上的打击. 二.性能误区: 性能误区 误区 现实 如果处理器使用率很高,那么需要添加更快的处理器 某一部分导致了性能问题 8

大话SQL Server性能优化(MSSQL高并发、性能调控、实践)

大话SQL Server性能优化(MSSQL高并发.性能调控.实践)网盘地址:https://pan.baidu.com/s/1KxdfcQD0XGD3M2ja_Y7UWQ 提取码:435v备用地址(腾讯微云):https://share.weiyun.com/5dTuZJ9 密码:xhmge4 本课程源于一家国内较知名的ERP厂商的一款产品出现性能问题后通过咨询服务解决了性能问题,然后根据自身多年技术培训.项目开发.产品研发与运维管理.软件公司内部咨询等经验,整理了在SQL Server 20

【SQL Server性能优化】运用SQL Server的全文检索来提高模糊匹配的效率

原文:[SQL Server性能优化]运用SQL Server的全文检索来提高模糊匹配的效率 今天去面试,这个公司的业务需要模糊查询数据,之前他们通过mongodb来存储数据,但他们说会有丢数据的问题,我从业务上了解到,显然对他们公司而言,丢数是绝对不能允许的. 另外,他们说之前也用过SQL Server的全文检索,但速度不够快,不如用mongodb快,当然我不太清楚他们所谓快的具体定义,比如查询只需要1秒,还是1分钟.他们的系统现在采用的是SQL Server,通过复制来实现高可用性,因为他们

Sql Server 性能优化之包含列

Sql Server 性能优化之包含列 导读:数据数优化查询一直是个比较热门的话题,小生在这方面也只能算是个入门生.今 天我们就讲下数据库包含列这个一项的作用及带来的优化效果 引用下MSDN里面的一段解释: 当查询中的所有列都作为键列或非键列包含在索引中时,带有包含性非键列的索引可以显 著提高查询性能. 这样可以实现性能提升,因为查询优化器可以在索引中找到所有列值:不 访问表或聚集索引数据,从而减少磁盘 I/O 操作 上面这一段什么意思呢? 意思就是说设置好包含列,能提高查询性能,减少IO输出.

SQL Server 性能优化实战系列(二)

SQL Server datetime数据类型设计.优化误区 一.场景 在SQL Server 2005中,有一个表TestDatetime,其中Dates这个字段的数据类型是datetime,如果你看到表的记录如下图所示,你最先想到的是什么呢? (图1:数据列表) 你看到这些数据,是不是觉得这样的设计既浪费了存储空间,又使得这个列的索引增大,查询起来更慢,你也想使用一些其它的数据类型来代替这个datetime吧? 其实大家都是这么想的,这个方向是100%正确的,但是在写这篇文章以前,我进入了两

SQL SERVER性能优化综述

一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软件生命周期的不同阶段来总结数据库性能优化相关的注意事项. 一.分析阶段 一般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性.可用性.可靠性.安全性需求往往吸引了我们大部分的注意力,但是,我们必须注意,性能是很重要的非功能性需求,必须根据系统的特点确定其实时性需求.响应时间的需求.硬件的配置等.最好能有各种需求的量化的指

SQL Server性能优化

源代码文件 1,什么是性能问题? 现有资源没有达到最大吞吐量的前提下,系统不能满足合理的预期表现,则可以定义为有性能问题.性能指标包括:响应时间,吞吐量,可扩展性. 2,初探优化 2.1优化论 一般遇到2种性能问题: 1),某个功能很慢,或者突然变慢,比如某个存储过程.查询等. 2),整个系统很慢. 第一种情况下,对象比较明确,所以处理起来相对轻松.大部分情况下,只需要研究执行计划就可以解决绝大部分问题.通过改变查询.调整表结构(索引等).就可以起到明显的效果. 第二种情况下,对象不明确,首先需

Sql Server性能优化辅助指标SET STATISTICS TIME ON和SET STATISTICS IO ON

1.前言 对于优化SQL语句或存储过程,以前主要是用如下语句来判断具体执行时间,但是SQL环境是复杂多变的,下面语句并不能精准判断性能是否提高:如果需要精确知道CPU.IO等信息,就无能为力了. PRINT convert(varchar(30),getdate(),121) select * from Sales.SalesOrderDetail where SalesOrderID > 64185 PRINT convert(varchar(30),getdate(),121) 这时候如果使

SQL Server 性能优化3 该指数(Index)保养

前言 之前的一篇文章介绍了索引来提高数据库的查询性能,这其实仅仅是个开始.也许假设缺乏适当的保养,索引你以前建立的,甚至成为拖累,成为帮凶下降数据库的性能. 寻找碎片 消除碎片索引维护可能是最常规的任务,,议是当碎片等级为 5% - 30% 之间时採用 REORGANIZE 来"重整"索引.假设达到 30% 以上则使用 REBUILD 来"重建"索引.决定採用何种手段和操作时机可能需要考虑很多的因素,下面4条是你必需要考虑的: 备份的计划 server的负载 磁盘剩

SQL Server 性能优化之RML Utilities

数据库为sqlserver要做性能测试,在网上找了很多都是介绍RML Utilities的,当时在网上看了些别人的测试结果,感觉这个工具很神奇,于是暗下决心一定要把该工具掌握,接下来的时间就介绍一下我的rml utilities学习之路吧. 第一步:学习sql server自动的工具profile,这个工具很强大,它能够记录某一段时间内,该服务器所执行的sql语句的详细信息,当然了这个时间段可以根据你的需求自己选择.一般设置时间为2个小时,或者更多.当然采取的样本越多所得出的结果就更加准确,但是