首页 >

浅谈MySQL Buffer学习及思考

数据库|mysql教程浅谈MySQL Buffer学习及思考
mysql优化,mysql学习,mysql buffer
数据库-mysql教程
玛丽源码,ubuntu下安装real,tomcat要放在哪个目录,Java爬虫乱码解决,php操作码对应代码,酒店seo推广lzw
本博文旨在结合自己看书理解,并借此图进行说明,如有谬误,望大家指正,以共同探讨为目的,交流学习。首先介绍一下此图的由来:最近看关于mysql方面书籍的一点心
网页源码分类不正确怎么修改,ubuntu系统网页加速,安全的爬虫加热,xmlspy php,北票seo托管lzw
qq访客统计 源码,ubuntu 机顶盒,拼多多2021爬虫,PHP获取PHP文件中变量,seo期末测试lzw
本博文旨在结合自己看书理解,并借此图进行说明,网站空间,如有谬误,望大家指正,以共同探讨为目的,交流学习。

首先介绍一下此图的由来:最近看关于mysql方面书籍的一点心得,把文字转化成图片而得,方便理解。

浅谈MySQL Buffer学习及思考

然后对以上参数进行一下简单的介绍:

由于mysql被称为内存式数据库,当然很内存是密不可分了,而他和内存的关系主要是通过缓冲区大小的几个参数吧。

缓冲包括:全局缓冲和局部缓冲。

全局缓冲参数大致有如下:

key_buffer_size, innodb_buffer_pool_size, innodb_additional_mem_pool_size,香港空间,innodb_log_buffer_size, query_cache_size

而局部缓冲(我自己习惯这么叫,虽然不专业,呵呵)一般mysql还会为每个连接分配连接缓冲。

全局缓冲在上篇博客中有介绍,这地方就省略了。

局部缓存:

每个连接到MySQL服务器的线程都需要有自己的缓冲。大概需要立刻分配256K,甚至在线程空闲时,它们使用默认的线程堆栈,网络缓存等。事务开始之后,则需要增加更多的空间。运行较小的查询可能仅给指定的线程增加少量的内存消耗,然而如果对数据表做复杂的操作例如扫描、排序或者需要临时表,则需分配大约read_buffer_size,sort_buffer_size,read_rnd_buffer_size,tmp_table_size大小的内存空间。不过它们只是在需要的时候才分配,并且在那些操作做完之后就释放了。有的是立刻分配成单独的组块。tmp_table_size可能高达MySQL所能分配给这个操作的最大内存空间了。注意,这里需要考虑的不只有一点——可能会分配多个同一种类型的缓存,例如用来处理子查询。一些特殊的查询的内存使用量可能更大——如果在MyISAM表上做成批的插入时需要分配bulk_insert_buffer_size 大小的内存;执行 ALTER TABLE, OPTIMIZE TABLE, REPAIR TABLE命令时需要分配myisam_sort_buffer_size大小的内存。

以上是结合自己常用的参数并查询mysql手册总结的。方便更直观的学习和理解。均个人见解,如有疑问,可共同交流学习!

本文出自 “Ro の博客” 博客,请务必保留此出处

,网站空间


浅谈MySQL Buffer学习及思考
  • Linux下 MySQL 安装以及优化
  • Linux下 MySQL 安装以及优化 | Linux下 MySQL 安装以及优化 ...

    浅谈MySQL Buffer学习及思考
  • mysql数据库怎么优化
  • mysql数据库怎么优化 | mysql数据库怎么优化 ...

    浅谈MySQL Buffer学习及思考
  • 如何创建出高效且扩展性强的数据库表结构和扩展性强代码?(已附上举例)
  • 如何创建出高效且扩展性强的数据库表结构和扩展性强代码?(已附上举例) | 如何创建出高效且扩展性强的数据库表结构和扩展性强代码?(已附上举例) ...