iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql内存相关的配置
  • 532
分享到

mysql内存相关的配置

mysql数据库 2023-09-10 18:09:30 532人浏览 八月长安
摘要

一、Mysql为每个链接分配的和内存 以下四个参数是为每个链接(线程)分配的大小。(一百个链接,可能会分配一百次) 1、sort_buffer_size: 排序缓冲区的大小。不管需要多少,都是一次性分配该参数值大小的内存。 max_leng

一、Mysql为每个链接分配的和内存

以下四个参数是为每个链接(线程)分配的大小。(一百个链接,可能会分配一百次)

1、sort_buffer_size:

排序缓冲区的大小。不管需要多少,都是一次性分配该参数值大小的内存。

  • max_length_for_sort_data: 用于指定排序数据的最大长度,根据需要排序的字段定义的大小总和与这个配置值进行比较。
2、join_buffer_size:

连接查询缓冲区的大小,默认值是256k。为每个连接查询分配该参数值大小的内存。

  • 较大的 join_buffer_size 可以容纳更多行,减少对被驱动表的全表扫描次数。
3、read_buffer_size:

MyISAM 表进行全表扫描时分配的查询缓冲区大小。有查询需要时分配一次性参数值大小的内存;参数值大小必须是4k的倍数。

4、read_rnd_buffer_size:

索引缓冲区的大小(回表查询 ID 的缓存)。有查询需要时分配,只分配所需的大小而非整个参数值大小。

二、InnoDB 缓冲池(Innodb_buffer_pool)

1、Innodb_buffer_pool_size:

该参数控制InnoDB 缓冲池的的大小,在mysql 5.7之前修改该值需要重启服务器

  • 对于单独的 Mysql 服务器,可以设置为:总内存 - (每个线程所需内存 * 链接数)- 系统保留内存。
  • 根据手册建议,设置为总内存的75%。
  • 当缓冲池很大时,重启服务器需要较长时间来刷新脏页。
2、Buffer Pool中的LRU链表
  • innodb_old_blocks_pc:该参数控制了InnoDB缓冲池中旧数据(已经不活跃)所占的比例。默认值为37,表示旧数据在缓冲池中的比例为37%。较低的值会导致更多的旧数据被保留在缓冲池中,可能增加缓冲池的使用率,但也可能影响新数据的读取性能。较高的值则允许更多的新数据进入缓冲池,但也可能导致频繁的缓冲池刷新和旧数据的淘汰。根据实际情况,可以适当调整这个值来平衡性能需求和缓冲池利用率。
  • innodb_old_blocks_time:该参数定义了多长时间内被认为是“旧数据”。默认值为0,表示没有时间限制。当一个页面在缓冲池中处于未被访问状态的时间超过设定的阈值时,该页面将被视为旧数据并可能被替换出缓冲池。通过设置适当的阈值,可以确保缓冲池中保留的是最常访问的数据,避免过多的旧数据占用缓冲池资源。
3、change buffer:

是一种用于提高写入性能的内存数据结构。它用于延迟和合并磁盘上的物理页更改。当进行INSERT、UPDATE或DELETE操作时,Change Buffer会将修改记录到内存中,然后再批量地将这些修改应用到磁盘上的数据页。

  • innodb_change_buffering: 这个参数控制Change Buffer的工作方式。它有三种可选值:

                all:表示所有的数据修改都会被缓冲,默认值。
                none:表示不使用Change Buffer。
                inserts:只缓冲INSERT操作。

  • innodb_change_buffer_max_siz: 这个参数定义了Change Buffer的最大大小,以字节为单位。默认值为25%的缓冲池大小。根据系统的写入负载和可用内存,可以适当调整此参数以控制Change Buffer的大小。
4、innodb_max_dirty_pages_pct:

这个参数定义脏页在缓冲池中所允许的最大比例,以百分比表示。默认值为 75%。

  • 当脏页所占的比例超过的设定值时,InnoDB 将开始触发后台线程将脏页刷新到磁盘上的数据文件中,以确保缓冲池中的脏页数量维持在可接受的范围内。
  • 较低的 innodb_max_dirty_pages_pct 值可以使脏页更快地写入磁盘,从而减少系统崩溃或意外停机时数据丢失的风险,但可能会牺牲一些写入性能。
  • 较高的 innodb_max_dirty_pages_pct 值可以提高性能,因为不必频繁写入磁盘,但可能会增加系统恢复时间并增加数据丢失的风险。

三、 MyISAM 缓冲池

1、key_buffer_size:

该参数是 MyISAM 缓冲池的大小,只缓存索引。即使所有表都使用 InnoDB 引擎,也要设置该值,因为 MySQL 系统表仍在使用 MyISAM 引擎。

2、可以通过执行以下查询获取 MyISAM 表索引所占空间的大小:

SELECT sum(index_length) from infORMation_schema.tables where ENGINE='myisam';

来源地址:https://blog.csdn.net/jkzyx123/article/details/131574985

您可能感兴趣的文档:

--结束END--

本文标题: mysql内存相关的配置

本文链接: https://www.lsjlt.com/news/402512.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql内存相关的配置
    一、mysql为每个链接分配的和内存 以下四个参数是为每个链接(线程)分配的大小。(一百个链接,可能会分配一百次) 1、sort_buffer_size: 排序缓冲区的大小。不管需要多少,都是一次性分配该参数值大小的内存。 max_leng...
    99+
    2023-09-10
    mysql 数据库
  • mysql的相关配置
    本篇内容主要讲解“mysql的相关配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql的相关配置”吧!在Linux中安装好Mysql之后,要进行一些相关...
    99+
    2024-04-02
  • gradle的配置相关
    文章目录 一、 gradle的配置文件1.1 build.gradle1.2 settings.gradle1.3 gradle.properties1.4 gradle.init.d1.5 ...
    99+
    2023-10-04
    java gradle
  • python boost相关配置
    1、首先python 是需要是--enable-unicode=ucs4编译的 2、boost 编译的时候 相关python的编译变量填清楚了如:./bootstrap.sh --with-icu --with-python=/usr/lo...
    99+
    2023-01-31
    python boost
  • 查看MySQL配置文件路径及相关配置的方法
    查看MySQL配置文件路径及相关配置的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!(1)关于配置文件路径有时候,我发...
    99+
    2024-04-02
  • MyBatis一级与二级缓存相关配置
    目录1.MyBatis的一级缓存2.MyBatis的二级缓存3.二级缓存的相关配置4.MyBatis缓存查询的顺序1.MyBatis的一级缓存 一级缓存是 SqlSession 级别...
    99+
    2023-01-03
    MyBatis缓存 MyBatis一级缓存 MyBatis二级缓存
  • 怎么配置MySQL内存buffer pool
    本篇内容介绍了“怎么配置MySQL内存buffer pool”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • Tomcat 的内存配置
    修改 Tomcat 的内存配置,你需要调整 Tomcat 的 Java 虚拟机(JVM)参数。具体来说,你需要修改 catalina.sh(Linux/macOS)或 catalina.bat(Windows)脚本中的 JAVA_OPTS ...
    99+
    2023-10-25
    tomcat java
  • JavaWebMaven详解相关配置
    目录1.Maven项目架构管理工具2.下载安装Maven3.配置环境4.阿里云镜像5.本地仓库6.在IDEA中使用Maven7.创建一个普通的Maven项目8.idea中标记文件夹功...
    99+
    2024-04-02
  • MongoDB 内存管理相关总结
    目录MongoDB的内存用在哪儿?如何限制MongoDB对内存的使用?cacheSizeGB参数配置的注意事项如何查看内存使用情况?MongoDB的内存用在哪儿?  &nb...
    99+
    2024-04-02
  • AndroidStudio里面gradle相关配置
    对我自己掌握的关于gradle相关的知识进行一个整理。 下面是Android studio里面比较重要的gradle文件。会逐一的进行解析。 1. build.gradle(模块里面) 里面的具体内容参考我之前写的一篇博客:详解build...
    99+
    2023-08-17
    android android studio gradle
  • 快速学会Dubbo的配置环境及相关配置
    目录1. Dubbo相关概念1.1 自动服务发现工作原理2. 启动文件2.1 zookeeper-3.4.11\bin\zkServer.cmd2.2 zookeeper-3.4.1...
    99+
    2024-04-02
  • C++固定内存块分配器相关知识点有哪些
    这篇文章主要讲解了“C++固定内存块分配器相关知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++固定内存块分配器相关知识点有哪些”吧!回收内存存储内存管理模式的基本哲学是在对象...
    99+
    2023-06-17
  • MyBatis核心配置相关习题
    文章目录 一、单选题二、多选题三、判断题四、填空题 一、单选题 1、下列元素中,属于MyBatis配置文件的根元素的是()。 A、元素 B、元素 C、元素 D、元素 正确答案:...
    99+
    2023-09-11
    mybatis java mysql
  • h3c做nqa的相关配置及作用
    H3C的nqa作用主要是用来做主备路由使用,保障线路通常。 一、组网需求:Server可以通过两台路由器到达对端 线路保证冗余及断线自动切换 二、实际配置nqanqa主要分三个步骤1、配置nqa检测。2、配置track与nqa的关联。3、所...
    99+
    2023-01-31
    作用 h3c nqa
  • Anaconda更换镜像源的相关配置
    前言 上一期博客主要成功的安装好了annaconda以及vscode,对我来说已经迫不及待想要从github导入项目自己运行一下了。但是环境的配置是第一关,我们需要根据自己下载的项目或者是自己编写的项目添加各种软件包。而问题的关键就在于通过...
    99+
    2023-09-21
    python 开发语言
  • git通过内网代理访问外网的相关配置方法
    目录git通过内网代理,访问外网的相关配置1 配置git代理(以http代理为例)2 替换git协议为https协议3 取消https协议的证书验证补充:git设置代理临时设置永久设...
    99+
    2023-05-19
    git内网代理访问外网 git内网代理 git代理访问外网
  • linux内存管理相关的函数有哪些
    这篇文章主要介绍“linux内存管理相关的函数有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux内存管理相关的函数有哪些”文章能帮助大家解决问题。 ...
    99+
    2023-04-20
    linux
  • Linux系统下的VNC SERVER相关配置
    本篇内容介绍了“Linux系统下的VNC SERVER相关配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装:代码如下:yum inst...
    99+
    2023-06-12
  • Nginx日志的相关配置有哪些
    这篇文章主要介绍“Nginx日志的相关配置有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Nginx日志的相关配置有哪些”文章能帮助大家解决问题。Nginx 日志相关配置有 2 个地方:acce...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作