本文将介绍MySQL参数的五大类设置,平时我们一般都很少碰它们,在进行MySQL性能调优和故障诊断时这些参数还是非常有用的。

(一)连接

连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们。

1、max_connections

这是Web服务器允许的最大连接数,记住每个连接都要使用会话内存(关于会话内存,文章后面有涉及)。

2、max_packet_allowed

最大数据包大小,通常等于你需要在一个大块中返回的最大数据集的大小,如果你在使用远程mysqldump,那它的值需要更大。

3、aborted_connects

检查系统状态的计数器,确定其没有增长,如果数量增长说明客户端连接时遇到了错误。

4、thread_cache_size

入站连接会在MySQL中创建一个新的线程,因为MySQL中打开和关闭连接都很廉价,速度也快,它就没有象其它数据库,

如Oracle那么多持续连接了,但线程预先创建并不会节约时间,这就是为什么要MySQL线程缓存的原因了。

如果在增长请密切注意创建的线程,让你的线程缓存更大,对于2550或100的thread_cache_size,内存占用也不多。

(二)查询缓存

(三)临时表

内存速度是相当快的,因此我们希望所有的排序操作都在内存中进行,我们可以通过调整查询让结果集更小以实现内存排序,或将变量设置得更大。

tmp_table_size

max_heap_table_size

无论何时在MySQL中创建临时表,它都会使用这两个变量的最小值作为临界值,除了在磁盘上构建临时表外,还会创建许多会话,这些会话会抢占有 限制的资源,

因此最好是调整查询而不是将这些参数设置得更高,同时,需要注意的是有BLOB或TEXT字段类型的表将直接写入磁盘。

(四)会话内存

MySQL中每个会话都有其自己的内存,这个内存就是分配给SQL查询的内存,因此你想让它变得尽可能大以满足需要。但你不得不平衡同一时间数据库内一致性会话的数量。

这里显得有点黑色艺术的是MySQL是按需分配缓存的,因此,你不能只添加它们并乘以会话的数量,这样估算下来比MySQL典型 的使用要大得多。

非常好的一个做法是启动MySQL,连接所有会话,然后继续关注顶级会话的VIRT列,mysqld行的数目通常保持相对稳定,这就是实际的内存 总用量,

减去所有的静态MySQL内存区域,就得到了实际的所有会话内存,然后除以会话的数量就得到平均值。

1、read_buffer_size

缓存连续扫描的块,这个缓存是跨存储引擎的,不只是MyISAM表。

2、sort_buffer_size

执行排序缓存区的大小,最好将其设置为1M-2M,然后在会话中设置,为一个特定的查询设置更高的值。

3、join_buffer_size

执行联合查询分配的缓存区大小,将其设置为1M-2M大小,然后在每个会话中再单独按需设置。

4、read_rnd_buffer_size

用于排序和order by操作,最好将其设置为1M,然后在会话中可以将其作为一个会话变量设置为更大的值。

(五)慢查询日志

慢速查询日志是MySQL很有用的一个特性。

1、log_slow_queries

MySQL参数中log_slow_queries参数在my.cnf文件中设置它,将其设置为on,默认情况下,MySQL会将文件放到数据目录,文件以“主机名-slow.log”的形式命名,但你在设置这个选项的时候也可以为其指定一个名字。

2、long_query_time

默认值是10秒,你可以动态设置它,值从1到将其设置为on,如果数据库启动了,默认情况下,日志将关闭。

截至5.1.21和安装了 Google补丁的版本,这个选项可以以微秒设置,这是一个了不起的功能,因为一旦你消除了所有查询时间超过1秒的查询,说明调整非常成功,这样可以帮助 你在问题变大之前消除问题SQL。

3、log_queries_not_using_indexes

开启这个选项是个不错的主意,它真实地记录了返回所有行的查询。

本文来自千锋教育,转载请注明出处。

Java教程:影响MySQL性能的配置参数相关推荐

  1. mysql query browser的使用_影响MySQL性能的配置参数

    (一)连接 连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们.1.max_connections这是Web服务器允许的最大连接数,记住每个连接都要使用会话内存(关于会话内存 ...

  2. MySQL性能优化之参数配置 - 愤怒的码农 - 博客园

    MySQL性能优化之参数配置 1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个C ...

  3. Mysql一些重要配置参数的学习与整理(一)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Mysql一些重要配置参数的学习与整理(一) 最近一直在进行mysql的学习,主要是学习mysql的一些配置参数,了 ...

  4. Mysql一些重要配置参数的学习与整理(二)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Mysql一些重要配置参数的学习与整理(二) 上一篇,Mysql一些重要配置参数的学习与整理(一)中,我们了解和学习 ...

  5. 计算机主板性能参数,影响电脑性能的硬件参数之主板

    影响电脑性能的硬件参数之主板 主板的好坏都会影响电脑的性能,下面小编为大家介绍影响电脑性能的硬件参数之主板,欢迎大家阅读了解! 一 主板芯片组 主板芯片组(Chipset)是主板的核心组成部分,可以比 ...

  6. MySQL性能优化之参数配置

    1.目的: 通过根据服务器目前状况,修改MySQL的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...

  7. MySQL-性能优化_影响MySQL性能的因素分析及解决方案

    文章目录 生猛干货 官方文档 影响性能的几个因素 CPU 内存 磁盘的配置和选择 传统的机械硬盘 RAID SSD 或者 PCIe卡 网络存储SAN (光纤传输)和 NAS (带宽传输) 网络 操作系 ...

  8. 两表查询很慢mysql_影响mysql性能的方面

    一.服务器硬件 CPU+内存选择 并发量+QPS+mysql版本+32/64位CPU QPS:每秒同时处理sql的数量 二.服务器操作系统 三.数据库存储引擎的选择-插件式存储 MyIsAM 不支持事 ...

  9. Java Spring Data Redis实战与配置参数详解 application.properties...

    Redis作为开源分布式高并发缓存,使用范围非常广泛,主流互联网公司几乎都在使用. Java Spring Boot 2.0实战开发Redis缓存可以参考下面的步骤,Redis安装可以直接使用Linu ...

最新文章

  1. 函数返回类的对象与拷贝构造函数
  2. 《敏捷软件开发》第二章极限编程实践
  3. 网页title上面添加图片
  4. Linux C : GDB调试命令汇总
  5. boost的chrono模块周期计数延迟的测试程序
  6. 华为鸿蒙os生态,华为鸿蒙系统终于来了! 首款方舟编译器应用正式上架: 鸿蒙OS可用...
  7. Java实现多线程售票
  8. 一步一步从Linux线程到MySQL慢sql定位
  9. LeetCode 38外观数列
  10. 第三章 文件IO复习
  11. dubbo服务层面上的负载均衡和高可用
  12. 录屏软件——大黄蜂,rar压缩包,解压后直接安装使用即可
  13. 河南职称计算机考试多少分通过,2019年河南职称计算机考试报名通知
  14. 海森矩阵和半正定矩阵
  15. 因子分析法(Matlab与SPSS对比)
  16. 如何用计算机算工资,个人工资计算器避税
  17. ffmpeg将图片和mp3合并成mp4
  18. Cassini Data Rev manufacturer eals Likely Subsurface Ocean on Titan
  19. 大漠老师:2022 年的 CSS,到底有哪些特性
  20. matlab取矩阵满足条件,[MATLAB]矩阵中寻找满足条件的元素

热门文章

  1. 全面解析Inception Score原理及其局限性
  2. 爬虫笔记11Scrapyyield具体使用
  3. 【如何在IDEA中修改连接git远程库中的密码,史上最详细,建议收藏!】
  4. shiro之第一个程序认证
  5. 使用JPA映射实体类和数据库中表时,实体类中定义的enum类型,数据库定义的是varchar类型,为什么使用JPA插入时字段变成了Integer类型
  6. MyBatis Plus——分页插件【PaginationInnerInterceptor】
  7. C++——《算法分析与设计》实验报告——二分搜索算法
  8. Spring Boot——HTTP访问重定向到HTTPS解决方案
  9. 优先级队列PriorityQueue在算法问题中的使用
  10. FreeMarker学习