MySQL基础笔记(11)-参数优化小结

MySQL篇之对MySQL进行参数优化,提高MySQL性能 innodb_flush_log_at_trx_commit:控制事务提交时日志的刷新策略。tmp_table_size 和 max_heap_table_size 控制内存中临时表的最大大小。如果设置为 1,每次写入二进制日志都会同步到磁盘,保证事务的持久性,但会带来一定的性能开销。磁盘 I/O 是数据库性能的重要瓶颈,合理配置与磁盘相关的参数有助于减少磁盘访问次数,提高性能。下面是一些常用的查询优化参数。MySQL 的日志记录可以帮助我们在故障时进行诊断,但是过多的日志记录会增加系统的负担。 阅读详情

MySQL服务器内置许多参数,就MySQL5.5版本而言,就有三百多个参数,大部分参数不需要开发者去配置,但是有小部分参数需要开发者熟悉其含义和懂得配置。本文将从以下角度小结一下对于MySQL服务器的性能有较大影响的参数,即内存参数、I/O参数、并发参数、其他参数四个方面展开;本文基于Innodb引擎,MySQL5.5版本。

对于MySQL服务器性能来说有许多的影响因素,主要分为以下:
1、SQL优化(慢查询优化,插入速度优化)
2、MySQL服务器优化(也就是接下来要说的参数优化)
3、服务器自身性能(内存大小)
4、磁盘I/O


一、全局参数和局部参数

MySQL的内置参数有全局参数和局部参数之分。全局参数是当前连接的用户设置之后会在整个数据库中起作用,而局部参数只会在当前连接下起作用,它们的语法为:

  • 设置全局参数
    set global 参数名=值
    set @@global.参数名=值
  • 设置局部参数
    set [session] 参数名=值
    set @@参数名=值

常见的全局参数有最大连接数、最大并发数等;常见的局部参数有事务隔离级别、自动提交事务等。

  • 查询内置参数
    show [global] variables like 参数名

二、内存参数调优

对于MySQL服务器的性能来说,内存参数对其影响很大,以下参数均为单个连接占用的缓冲区内存大小,不能设置得过大,要根据预计的连接数和服务器可用内存进行设置:

  • join_buffer_size:当我们的join是ALL,index,rang或者Index_merge的时候使用的buffer,当频繁使用连接查询时需要将其提高。
  • sort_buffer_size:系统对数据进行排序时用到的buffer,当使用group by或者order by的频繁高时需要将其提高。
  • read_buffer_size:如果对表的顺序扫描非常频繁,可以通过增加该变量值以及内存缓冲区大小提高其性能。
  • read_rnd_buffer_size:这是单条数据的读取缓冲区,一般不需要设置。

以上四个是单个连接占用的缓冲区,而对于InnoDB引擎来说,还有一个缓冲池大小需要设置,这将影响缓冲池中能产生多少个缓存区。一般设置为服务器内存的75%以上。
innodb_buffer_pool_size

三、I/O参数调优

因为InnoDB是一种事务性的存储引擎,在每次事务提交后并不是把磁盘中的数据立即更新,而是将事务写入到binlog中,根据不同的策略将binlog中的记录在写入到磁盘中,这时产生了大量的I/O。故对日志参数的优化即是对I/O性能的优化。

  • innodb_log_file_size :每个事务日志的大小,如果事务繁忙,可将其适度加大。
  • innodb_log_files_in_group:事务日志的个数
  • innodb_log_buffer_size:事务日志缓冲区大小,一般在32M~128M,由
    innodb_log_file_size * innodb_log_files_in_group确定。
  •   innodb_flush_log_at_trx_commit :将事务日志刷新到磁盘中的策略,有三种选择:
    0:事务提交到事务日志中的每秒钟刷新一次到磁盘中;
    1:事务每次提交到事务日志中后立即刷新到磁盘中,这是默认选项;
    2:事务提交到事务日志文件中后,每秒钟刷新一次到磁盘中,这是推荐的选项。
  • innodb_file_per_table:为1时表示为每个表单独建立表空间,这增加了磁盘内存占用量,但是提高了性能。

四、并发参数调优

MySQL服务器有两个个参数对于并发影响重大。一是max_connections,也就是最大的同时连接数量,它的默认值为200,一般来说这是不够的,需要根据业务去设置它的值。二是max_used_connections,即是同时并发操作事务的数量,一般它的大小是max_connections的80%。

五、其他优化配置

  • thread_cache_size:表示线程池中存放的线程数,一般1G内存服务器使用8,2G则使用16,3G使用32,3G以上使用64。
  • thread_stack:每个线程创建时所占用的大小,max_connctions*thread_stack < innodb_buffer_pool_size。
  • table_open_cache:MySQL服务器会对打开的表进行缓存,而这个参数可以用来设置需要被缓存的表的数量,一般2G内存的服务器会被设置在256~512之间,4G的话这个值可设置为2024。通过show status like 'open_tables'可查看已打开表的个数。
MySQL之复制环境初始化与参数优化实战指南 大家好!在MySQL复制体系中,环境初始化与参数配置是确保复制稳定性和性能的关键环节。写作本文的初衷,是希望与各位开发者、运维人员分享复制环境的初始化方法、核心参数优化技巧及最佳实践,通过通俗易懂的解析和实战案例,帮助大家构建高效可靠的复制系统。文中将结合数据初始化流程、参数配置原理和代码实例,助力读者掌握复制环境搭建的核心要点。欢迎随时交流探讨! 阅读详情

相关推荐

Mysql之固态存储高级技巧:从Flashcache到参数优化实战

各位技术伙伴们,大家好!在MySQL性能优化的旅程中,固态存储(SSD)的应用已经从“可选方案”逐渐变为“核心策略”。然而,随着技术的深入,我们需要探索更高级的应用技巧,如存储分层、参数调优和缓存机制等。写作这篇博客的初衷,是希望与大家分享固态存储的进阶知识,通过解析Flashcache原理、优化MySQL配置参数和分析实战案例,帮助开发者在实际项目中更高效地利用固态存储。技术的魅力在于不断探索和突破,愿这篇博客成为你我共同进步的阶梯,在数据库优化的道路上越走越远。

wj_rdk的博客 1712

Kettle合并记录、全局参数和局部参数、常量传递、转换命名参数

一、Kettle合并记录 合并记录是用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并。 标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种。 identical:旧数据和新数据一样 changed:数据发生了变化 new:新数据中有而旧数据中没有的记录 deleted:旧数据中有而新数据中没有的记录 关键字段:用于定位两个数据源中的同一条记录。 比较字段:对于两个数据源中的同一条记录,指定需要比较的字段。

zhengzaifeidelushang的博客 2695

HTB Attacking GraphQL Skills Assessment

通过枚举应用,利用GraphQL API,发现sql注入点,然后利用找到flag。

qq_33522010的博客 454

全局变量和局部变量的理解及注意事项 超详细 简单易懂

一全局变量和局部变量 (1)全局变量和局部变量的含义: 在函数体内部定义的变量叫做局部变量,在函数体外部定义的变量叫做全局变量。局部变脸只能在定义的那个函数体的内部进行使用,而全局变量在所有函数内部都可以使用。 (2)局部变量: 1.函数执行结束之后,定义在函数体内部的局部变量的内存空间就会被释放; 2.且不同的函数可以定义具有相同名字的局部变量,因为他们两个的存储空间不在同一个地方,所以即使同名,也不会相互干扰。 3.局部变量的生命周期为该变量创建到该函数体结束(生命周期:变量被创建开始到被系统回收的这一

weixin_54907221的博客 1万+

电路保护设计实战:保险丝选型、I²t计算与多级协同方案

电路保护是电子系统可靠性的基石,其核心原理是在发生过流或过压等异常情况时,及时切断故障回路,防止能量持续灌入导致元器件损坏甚至安全事故。从技术价值看,优秀的保护设计能显著提升产品寿命、安全性和市场口碑,尤其在快充、电动汽车等高功率密度应用中,保护器件已成为不可或缺的安全屏障。在众多保护器件中,保险丝作为最基础的过流保护元件,其正确选型与应用直接关系到保护效果。本文聚焦于保险丝选型的实战细节,深入解析了I²t(电流平方时间积)这一关键参数,它定义了熔断所需的能量阈值,是匹配被保护半导体器件耐受能力、实现有效保

weixin_42662171的博客 309

麒麟操作系统安装达梦数据库ARM版

Linux安装达梦数据库ARM版

运维@小兵的博客 8771

roslaunch文件中的局部参数与全局参数

最近在看在C++中用roslaunch加载参数, 为了讲解清楚下面给出一些例子. Node Handles 首先,来看两种不同的创建方式: ros::NodeHandle n; ros::NodeHandle nh(“~”); 波浪符代表节点句柄的命名空间,其作用与C++的”this”指针和python中的”self”类似.在ros中可以使用 roslaunch 进行参数传递. 在 laun...

weixin_39312052的博客 705

ADT MCP Server 把 ABAP 开发带进 Agent 模式

今天讨论 ADT MCP Server,不能只把它看成 Visual Studio Code 里多出来的一个开关。它真正有意思的地方,在于它把 ABAP 后端开发里那些原本需要手工点击、手工创建、手工激活、手工查服务元数据的动作,包装成一组可以被 GitHub Copilot 这类 coding agent 调用的工具。SAP 在 RAP130 练习里把它描述为运行在 ADT for Visual Studio Code 扩展内部的本地 HTTP Server,它实现的是 Model Context Pro

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 185

mysql参数优化

mysql参数设置

weixin_39735909的博客 4376

YOLOv11 改进入门篇 | 轻量级涨点技巧:GhostConv 替代普通卷积的实战指南

摘要: 本文介绍如何通过GhostConv改进YOLOv11,实现轻量化涨点。YOLOv11深度增加导致参数量、延迟和内存占用上升,GhostConv通过“本征特征+线性变换”策略,在精度几乎无损的情况下降低30%-50%计算量。文章详细解析GhostConv原理,对比普通卷积的参数量和FLOPs优势,并提供完整的代码级改造流程,包括模块实现、注册及网络配置。实验表明,该方法有效提升边缘端推理效率,适用于移动端等资源受限场景。

shrgegrb的博客 1657

控制科学与工程(自动化)保研经验【4】——浙大篇

控制科学与工程(自动化)保研经验【4】——浙大篇

Control Everything 1万+

MySQL服务的参数优化

MySQL服务的参数都在my .cnf或者my.ini文件的[mysqld]组中。配置完后,重新启动MySQL服务生效。

qgbihc的专栏 1315

【漏洞复现】WordPress Plugin NotificationX 存在sql注入CVE-2024-1698

技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。WordPress和WordPress plugin都是WordPress基金会的产品。WordPress Plugin NotificationX 存在安全漏洞,该漏洞源于对用户提供的参数转义不充分以及对现有 SQL 查询缺乏充分的准备,很容易通过“type”参数受到 SQL 注入攻击。

失心少年 1385

MySQL 配置参数优化指南

MySQL配置参数优化指南摘要:本文详细介绍了MySQL关键参数的优化设置,涵盖内存、连接、查询、InnoDB引擎、表设计等核心配置。重点包括缓冲池大小(建议物理内存50-70%)、连接数控制(500-2000)、事务日志策略、I/O性能优化以及慢查询监控等。针对8核32G服务器提供了完整配置示例,强调优化需考虑硬件条件、业务特性和版本差异,建议通过渐进式调整配合性能监控来实施。参数优化是一个持续过程,应随业务增长定期审查调整配置。

weixin_39956506的博客 1646

2019年高教社杯全国大学生数学建模竞赛 C 题:《机场的出租车问题》真题解析与 MATLAB 解决方案

🏆 本文已收录于专栏:《滚雪球学数学建模(含历年真题)》,持续更新最新及历年数学建模竞赛资料,每篇内容力求做到“问题讲透、模型讲清、代码可用、论文可参考”,帮助你从零开始逐步建立完整的数学建模知识体系。

**My Coding Family** 3456

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

MySql参数优化

MySql参数优化 windows系统配置文件在xxx\MySQL\MySQL Server 下 my.ini show global status可以列出mysql服务器运行各种状态值, show variables 查询mysql服务器配置信息语句: 慢查询 mysql> show variables like ‘slow%’;

8607

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MySQL参数优化指南

意义:该参数设置InnoDB存储引擎的缓冲池大小,主要用于缓存数据和索引。InnoDB缓冲池的大小直接影响到数据的读写效率,合理的设置可以显著提高性能。优化方向设定值:通常建议将其设置为系统总内存的60%-80%,具体数值取决于应用的工作负载和可用内存。监控工具:使用MySQL的性能监控工具(如)观察缓冲池的命中率,目标是达到85%以上。优化效果提升数据访问速度,减少磁盘I/O操作。在高负载场景下,缓冲池的增加能有效降低响应延迟。意义:该参数定义MySQL可以同时处理的最大连接数。

weixin_43759894的博客 1525

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

linux mysql 参数优化_Mysql参数优化

Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。下面先说我的服务器的硬件以及论坛情况,CPU: 2颗四核Intel Xeon 2.00GHz内存: 4GB DDR硬盘: SCSI 146GB论坛:在线会员 一般在...

weixin_29975633的博客 689

MySQL InnoDB的读写参数优化

MySQL InnoDB的读写参数优化需要根据具体的业务场景和硬件环境进行调整。通过合理设置缓冲池大小、查询缓存、索引、日志缓冲区大小、事务提交频率和刷新策略等参数,可以显著提升数据库的读写性能。同时,也需要注意定期检查和更新参数设置,以应对系统工作负载的变化。此外,还可以利用MySQLTuner、MySQL Performance Tuning Primer、Percona Toolkit等优化工具来辅助进行参数调整。

sheji888的专栏 1323

mysql 运行参数优化

4.binlog_format=ROW —— 修改为基于行的复制. 我最近写的另一篇 基于行的复制 ,里面叙述了我真的很喜欢它的原因,因为它可以通过减少资源锁定提高性能. 此外还需要启用两个附加设置: transaction-isolation=READ-COMMITTED and innodb_autoinc_lock_mode = 2.topology )中的所有服务器都必须设置唯一的 server-id.试图设定back_log高于你的操作系统的限制将是无效的。#指定MySQL查询缓冲区的大小。

qq_21305943的专栏 2609

Linux中MySQL配置文件my.cnf参数优化

Linux中MySQL配置文件my.cnf参数优化 MySQL参数优化这东西不好好研究还是比较难懂的,其实不光是MySQL,大部分程序的参数优化,是很复杂的。MySQL的参数优化也不例外,对于不同的需求,还有硬件的配置,优化不可能又最优选择,只能慢慢的进行优化,需要不断的调试,才能达到不同环境的最优选择。 首先介绍一下MySQL配置文件中不同模块 [client] MySQL客户端应用模块...

MysticalYcc的博客 565

MySQL InnoDB 读写参数优化

读参数主要影响数据库的查询性能,包括缓冲池大小、查询缓存、索引优化等。

My_wife_QBL的博客 1195
上一篇: MySQL基础笔记(10)-实用SQL优化技巧小结
下一篇: MySQL基础笔记(12)-使用Docker搭建MySQL主从复制架构
BoringRong
BoringRong 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 2万+粉丝 386原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值