mysql必须的组件_mysql innodb的重要组件

innodb包涵如下几个组件

一、innodb_buffer_pool:

1  它主要用来缓存数据与索引(准确的讲由于innodb中的表是由聚集索引组织的,所以数据只不是过主键这个索引的叶子结点)。

二、change buffer:

1  如果更新语句要更新二级索引的记录,但是记录所在的页面这个里面并没有在innodb_buffer_pool中,innodb会把这个对二级索引

面页的更新动作缓存到innodb_buffer_pool的一个特定区域(change buffer);等到之后如果有别的事务B要去读这个二级索引页的时候,

由于页面还没有,在innodb_buffer_pool中所以B事务会先把页面载入innodb_buffer_pool,这样子目标页面就算进入innodb_buffer_pool了,

接下来就可根据change buffer的内容来更新索引页面了。这样可以节约IO操作,提高性能。

2  当然别的刷新机(把change buffer中的变更落盘)制也是有的,比如说当mysql比较空闲的时候,slow shutdown 的过程当中也会刷新

change buffer中的内容到磁盘

3  监控change buffer

show engine innodb status;-------------------------------------

INSERT BUFFER AND ADAPTIVE HASH INDEX

-------------------------------------

Ibuf: size 1, free list len 0, seg size 2, 0merges

merged operations:insert 0, delete mark 0, delete 0discarded operations:insert 0, delete mark 0, delete 0Hashtable size 34679, node heap has 0buffer(s)

Hashtable size 34679, node heap has 0buffer(s)

Hashtable size 34679, node heap has 0buffer(s)

Hashtable size 34679, node heap has 0buffer(s)

Hashtable size 34679, node heap has 0buffer(s)

Hashtable size 34679, node heap has 0buffer(s)

Hashtable size 34679, node heap has 0buffer(s)

Hashtable size 34679, node heap has 0buffer(s)0.00 hash searches/s, 0.00 non-hash searches/s---

LOG

---

Log sequence number 24635311

Log flushed up to 24635311Pages flushed upto 24635311Lastcheckpoint at 24635302

0 pending log flushes, 0pending chkp writes10 log i/o's done, 0.00 log i/o's/second

三、自适应hash索引:

1  如果表中的某些行会非常频繁的用到,由于innodb表是B+树组织起来的这一特性,最好的情况下innodb也是先读索引页,再读数据页,然后

找到数据;hash索引是用B+树索引的hash为键,以B+树索引的值(指向的页面)为值的;由于有了hash索引的引入,innodb可以通过计算索引的hash

值就直接定位到数据所在的页面;所以对于非范围查找的情况下hash索引这样的处理方式是有优势的。

2  要想innodb能用上bash索引还要有几个条件1、innodb_adaptive_hash_index=1 这样innodb就会启用hash索引了;然而这只是完成了一半,

innodb并不是为表中的所有行建立hash索引的,只是表中频繁访问的行才会为它建立hash索引,为冷数据建立hash索引是一种浪费;

innodb_adaptive_hash_index_parts 可以设置hash索引的分区,这种可以提升并发度。

四、redo log buffer:

redo log buffer 中的内容会被定期的刷新到磁盘,如果redo log buffer 设置的比较大它有利于mysql对大事务的处理,原因在于在大事务的处理中

可以把redo 写入到redo log buffer 而不是写入到磁盘,由于内存比磁盘快,所以大事务的处理速度上也会比较快;也就是说redo log buffer 比较大

的情况下在commit 之前可以减少一些没有必要的刷磁盘操作。

五、系统表空间:

1  innodb 系统表空间中包涵如下内容:innodb 数据字典,一些存储区域如 doublewrite\changebuffer\undolog ,如果innodb_file_per_table

没有打开那么那么用户建的表就会保存到这个系统表空间中,这种情况下系统表空间也就可以看面它包涵共享表空间了。

六、

----

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Stardust]星尘配置中心

在分布式系统开发中,配置中心必不可少。在中通几年时间里,为了配合大数据计算平台,统一管理数百个微小应用,设计了一套轻量级配置中心。星尘配置中心在其理念基础上改进,针对中小团队而全新设计!源码&#…

oracle中v$database视图详解

SQL> desc v$database 名称 是否为空? 类型 ----------------- -------- ------------ DBID NUMBER NAME VARCHAR2(9) CREATED DATE RESETLOGS_CHANGE# NUMBER RESETLOGS_T…

大数据可视化设计到底是啥,该怎么用

大数据可视化是个热门话题,在信息安全领域,也由于很多企业希望将大数据转化为信息可视化呈现的各种形式,以便获得更深的洞察力、更好的决策力以及更强的自动化处理能力,数据可视化已经成为网络安全技术的一个重要趋势。文章目录一…

九度 1376 最近零子序列

http://ac.jobdu.com/problem.php?id1376 N^2的算法超时 优化算法想了好久没想出来&#xff0c;就当是学习一下STL的set了吧 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 #include <set> 5 #include <iostream> 6 #defi…

WPF 如何实现颜色值拾取

WPF开发者QQ群&#xff1a; 340500857 前言如何进行颜色值拾取&#xff1f;这里采用的是调用WindowsAPI进行实现。吸取 沙漠尽头的狼 的建议多写一些文字进行描述。效果图如下&#xff1a;第一步 注册WindowsAPI 代码如下&#xff1a;[DllImport("user32.dll")]stati…

大文本导入mysql_大文本数据,导入导出到数据库

大文本数据&#xff0c;导入到数据库240w的数据&#xff0c;利用plsql的文本导入器&#xff0c;导了一个半小时&#xff0c;且数据出现缺失。两种方式导入到数据库一&#xff0c;使用sql load创建表create table ext_gv_tmp_amazon_sku(skucode varchar2(255 char),eancode var…

仿Google+相册的动画

在使用Google的时候&#xff0c;查看某一相册&#xff0c;会经常看到&#xff0c;如下图所示的动画效果。 鼠标移入、移出时均有动画效果&#xff0c;咋一看估计是使用了css3的transform属性来实现动画效果的。 在网上搜索“Google 相册 效果”的时候发现有人使用CSS3做了这样的…

看见到洞见之引子(二)机器学习算法

《看见到洞见》系列文章汇聚、分享的是绿盟科技创新中心对于数据分析在安全领域应用的技战术思考与经验&#xff0c;力求由浅入深层次递进&#xff0c;实战到方法论双线剖析。此文为系列文章之引子第二篇&#xff0c;深入浅出的对常用的数据分析和机器学习的算法进行介绍。在上…

mysql pmod项目_内置函数 - 数学函数 - 《Apache Doris 文档(201812)》 - 书栈网 · BookStack...

数学函数abs(double a)功能&#xff1a; 返回参数的绝对值返回类型&#xff1a;double类型使用说明&#xff1a;使用该函数需要确保函数的返回值是整数。acos(double a)功能&#xff1a; 返回参数的反余弦值返回类型&#xff1a;double类型asin(double a)功能&#xff1a; 返回…

gcc中常用的选项

开始学习在Linux下写程序&#xff0c;利用gcc进行编译的时候经常需要添加一些选项&#xff0c;为了便于查找&#xff0c;将这写常用的选项整理出来。GCC常用选项 -c 通知GCC取消链接步骤&#xff0c;即编译源码并在最后生成目标文件&#xff1b; -Dmacro 定义指定的宏&am…

一图看懂 ASP.NET Core 中的服务生命周期

翻译自 Waqas Anwar 2020年11月8日的文章 《ASP.NET Core Service Lifetimes (Infographic)》 [1]ASP.NET Core 支持依赖关系注入&#xff08;DI&#xff09;软件设计模式&#xff0c;该模式允许我们注册服务、控制如何实例化这些服务并将其注入到不同的组件中。一些服务可以在…

看见到洞见之引子(一)机器学习算法

《看见到洞见》系列文章汇聚、分享的是绿盟科技创新中心对于数据分析在安全领域应用的技战术思考与经验&#xff0c;力求由浅入深层次递进&#xff0c;实战到方法论双线剖析。此文为系列文章之引子第一篇&#xff0c;深入浅出的对常用的数据分析和机器学习的算法进行介绍。文章…

支持向量回归代码_RDKit:基于支持向量回归(SVR)预测logP

RDKit一个用于化学信息学的python库。使用支持向量回归(SVR)来预测logP。 分子的输入结构特征是摩根指纹&#xff0c;输出是logP。代码示例&#xff1a;#导入依赖库import numpy as npfrom rdkit import Chemfrom rdkit.Chem.Crippen import MolLogPfrom rdkit import Chem, Da…

移除 ZooKeeper 的 kafka 2.8 ,更快了

这段时间招聘季&#xff0c;后台收到不少关于 Kafka 的问题&#xff0c;确实 Kafka 近两年的行情&#xff0c;可谓是水涨船高了。根本原因是&#xff0c;是 Apache Kafka 作为一款开源的消息引擎系统。凭借高可靠、高吞吐、高可用、可伸缩等优越特性&#xff0c;在数据采集、传…

浅议SSH协议

什么是SSH&#xff1f; SSH 为 Secure Shell 的缩写&#xff0c;由 IETF 的网络工作小组&#xff08;Network Working Group&#xff09;所制定&#xff1b;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠&#xff0c;专为远程登录会话和其他网络服务提供安全性…

机器学习 vs 深度学习到底有啥区别,为什么更多人选择机器学习

机器学习和深度学习有什么区别&#xff1f;让我们从本文中寻找答案。目标本文中&#xff0c;我们将深度学习与机器学习作比较。我们将逐一了解他们。我们还会讨论他们在各个方面的不同点。除了深度学习和机器学习的比较&#xff0c;我们还将研究它们未来的趋势。对比介绍深度学…

dreamweaver连接mysql数据库 发生一个不知名错误_用DREAMWEAVER连接数据库测试时总是弹出发生一个不知名的错误 你好! 请问一下这个问题你是怎么解的?...

展开全部2018年05月05日 19:11:13阅读数&#xff1a;1 编辑如图&#xff0c;PHPMySQLDreamweaverCS6连接MySQL就出现不知名错误&#xff0c;查遍全网也没有解决办法。32313133353236313431303231363533e58685e5aeb931333365653139笔者是机械学的专业&#xff0c;电脑是小白&…

ASP.Net 管道模型 VS Asp.Net Core 管道 总结

1 管道模型 1 Asp.Net Web Form管道请求进入Asp.Net工作进程后&#xff0c;由进程创建HttpWorkRequest对象&#xff0c;封装此次请求有关的所有信息&#xff0c;然后进入HttpRuntime类进行进一步处理。HttpRuntime通过请求信息创建HttpContext上下文对象&#xff0c;此对象将贯…

window server2008 r2

http://www.oyksoft.com/soft/10085.html 破解http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylangzh-cn&FamilyIDba571339-5436-4cf5-9c37-6ed7dab6f781转载于:https://www.cnblogs.com/blosaa/archive/2012/02/09/2343988.html

py2exe for python3_使用Py2Exe for Python3创建自己的exe程序

最近使用Python 3.5写了一个GUI小程序&#xff0c;于是想将该写好的程序发布成一个exe文件&#xff0c;供自己单独使用。至于通过安装的方式使用该程序&#xff0c;我没有探索&#xff0c;感兴趣的读者可以自己摸索。1 介绍我使用的开发环境是python3.4(实际上我是在另一个64位…