mysql n 存储结构,MySQL体系结构和存储引擎概述

一、定义数据库和实例

数据库:

物理操作系统文件或其他形式文件类型的集合。数据库文件可以是frm、MYD、ibd 结尾的文件。

从概念上来说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器的数据集合;

实例:

MySQL数据库由后台进程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享。 需要注意的是,数据库实例才是真正用于操作数据库文件的。

从概念上来说,数据库实例是程序,是位于用户于操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询等都在实例下进行,应用程序只有通过数据库实例才能和数据库打交道。

PS:MySQL是一个单进程多线程架构的数据库。也就是说MySQL数据库实例在系统中表现形式就是一个进程。

二、MySQL体系结构

9158b879f4a9962e8966e34c329862c1.png

根据上图可以看出,MySQL由以下几个部分组成:

1. 连接池组建

2. 管理服务和工具组建

3. SQL接口组件(SQL Interface)

4. 查询分析器(Parser)

5. 优化器组件(Optimizer)

6. 缓冲组件(Cache & Buffer)

7. 插件式存储引擎(Pluggable Storage Engines)

8. 物理文件 (File Sysgtem & Logs)

三、MySQL存储引擎

MySQL与其他数据库对比等一大特点就是独有的插件式体系结构,而每存储引擎都有各自的特点,能够根据具体的业务或者应用场景建立不同的存储引擎表。

下面简单的介绍以下MySQL几款常见的存储引擎:

1、InnoDB存储引擎:

InnoDB存储引擎支持事务,设计目标主要面向OLTP应用,特点是行锁设计、支持外键。PS:MySQL5.6+开始支持全文索引。

2、MyISAM存储引擎:

MyISAM存储引擎不支持事务、表锁设计,支持全文索引,主要面向一些OLAP数据库应用。

3、NDB存储引擎:

NDB存储引擎是一款集群存储引擎,特点是将数据全部放在内存中(MySQL5.1+开始可以将非索引数据放在磁盘上)因此主键查找的数据快,通过添加数据存储节点,可以线性的提高数据库性能,是高可用,高性能的集群系统。

4、Memory存储引擎:

Memory存储引擎将表中所有的数据放置内存中,如果数据库重启或者崩溃,数据将消失。Memory所有默认使用哈希索引。

5、Archive存储引擎:

只支持insert 和 select操作, 使用zlib算法将数据行(row)压缩存储。 非常适合存储归档数据,如日志信息。

6、Federated

7、Maria

……

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

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

相关文章

Microsoft Expression Studio 4 Ultimate 中文版发布

Expression Studio Ultimate 是供生成网站以及 Windows 客户端应用程序和丰富媒体内容的专业设计人员使用的一系列工具,可以将创作人员引领到一个全新的创作天地。无论您是准备设计基于标准的网站,还是设计内容精美,令人赏心悦目的桌面或者 S…

Struts2基础

1.Struts2 Actions动作 Actions是Struts2框架的核心,因为它们适用于任何MVC(Model View Controller)框架。 每个URL映射到特定的action,其提供处理来自用户的请求所需的处理逻辑。但action还有另外两个重要的功能。 首先&#xf…

WebService简单示例

记录一下&#xff0c;以备后用&#xff1a;代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Services;usingSystem.Web.Services.Protocols;namespaceNiunan.ZZ.JKDA.Web.webservice{ ///<summary>///GGService 的…

php server 性能,PHP中:$_SERVER[‘REQUEST_TIME’]和 time()有什么区别,那个性能快!...

简单的说time()与$_SERVER["REQUEST_TIME"]都是获得时间的&#xff0c;但time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME"]得到请求开始时的时间戳&#xff0c;稍有区别。1. time() 获取当前的系统时间戳inttime( void ) :返回自从 Unix 纪元(格林威…

Delphi捕捉DLL执行所抛出的异常。

先来说一下我如何写我的Dll文件的。 先看代码&#xff1a; 代码 librarypub_form;usesSysUtils, Classes, Windows, Forms, Parameter_Object, frm_LoginU in..\公用库单元\frm_LoginU.pas{frm_Login}, pub_Event in..\公用库单元\pub_Event.pas, Dll_LIB_ConstU in..\公…

docker版本Mysql安装

docker部署mysql 1. 下载 [rootlocalhost my.Shells]# ./dockerStart.sh start or stop start Redirecting to /bin/systemctl start docker.service [rootlocalhost my.Shells]# docker pull mysql Using default tag: latest Trying to pull repository docker.io/library/…

matlab 左上角,matlab – 访问’uitable`的左上角

在uitable中,我想访问行标签上方的单元格以及列标签的左侧.我想在该领域加上一些文字.可以这样做吗&#xff1f;最佳答案 简短的回答是肯定的,但这有点痛苦.您可以添加文本uicontrol并正确定位.一个功能的例子&#xff1a;% Dummy figure and tablef figure;d gallery(intege…

planning algorithms chapter 2

planning algorithms chapter 2 :Discrete Planning 离散可行规划导论 问题定义 在离散规划中&#xff0c;状态是“可数”的&#xff0c;有限的。 离散可行规划: 非空状态空间 X对于每个状态 x&#xff0c;存在一个有限的动作空间 U(x)对于每个状态和动作空间&#xff0c;存在状…

mda.helper.php,dedecms后台更新缓慢甚至卡死怎么办

问题描述&#xff1a;如果我们在使用织梦程序(2018-01-09)&#xff0c;有可能会遇到后台更新网站、更新文档HTML、添加文档卡死的问题。该如何解决呢&#xff1f;(学习视频分享&#xff1a;编程视频)解决方法&#xff1a;如果你正在用的是最新版的织梦程序(2018-01-09)&#xf…

P2896 [USACO08FEB]一起吃饭Eating Together 解题报告

题目传送门 题目不是很难&#xff0c;看了一会就想到了&#xff0c;但因为一些细节WA了好几遍qwq 但代码却一点一点压短了&#xff08;看了别人的精简写法&#xff09; 题目分析 把一个序列改成不上升或不下降子序列&#xff0c;求最少修改次数。 一般情况有求 LIS 和 LDS 的 O…

MySQL第五天

复制表结构 1 #从src_table复制到dst_table2 CREATETABLEdst_table LIKEsrc_table;3 4 #另外一种方法5 CREATETABLEdst_table SELECT*FROMsrc_table WHERE0;6 7 #第一种方法比第二种方法简单实用效率高8 9 10 #复制表中数据11 #完全复制src_table12 CREATETABLEdet_table SELEC…

九种跨域方式实现原理

前言 前后端数据交互经常会碰到请求跨域&#xff0c;什么是跨域&#xff0c;以及有哪几种跨域方式&#xff0c;这是本文要探讨的内容。 本文完整的源代码请猛戳github 博客 一、什么是跨域&#xff1f; 1.什么是同源策略及其限制内容&#xff1f; 同源策略是一种约定&#xff0…

WinForm控件之【LinkLabel】

基本介绍 超链接标签控件&#xff0c;随处可见应用极为广泛&#xff0c;一般用作触发指定链接跳转指定页面等操作。 常设置属性、事件 ActiveLinkColor&#xff1a;用户单击超链接时超链接显示的颜色&#xff1b; LinkColor&#xff1a;超链接默认状态时显示的颜色&#xff1b;…

Oracle分析函数六——数据分布函数及报表函数

Oracle分析函数——数据分布函数及报表函数 CUME_DIST 功能描述&#xff1a;计算一行在组中的相对位置&#xff0c;CUME_DIST总是返回大于0、小于或等于1的数&#xff0c;该数表示该行在N行中的位置。例如&#xff0c;在一个3行的组中&#xff0c;返回的累计分布值为1/3、2/3、…

Acess 数据库 查询数据表结构等问题小记

今天一次性解决三个小问题&#xff1a; 问题1&#xff1a;本机打开Access数据库老是提示&#xff1a;“Windows 正在配置 Microsoft Office Professional Edition 2003&#xff0c;请稍候” 解决办法&#xff1a; 手动更改注册表步骤操作&#xff1a; 1. 单击“开始”&#xff…

集合计数 (容斥原理)

心路: { 想了个思路打出来硬干掉了样例&#xff0c;然后发现是错的....当时直接崩了...烦躁滴很...其实这个思路和题解大方向上是一样的&#xff0c;想到了用至少含k个的方案数减去含k1个的加上k2的。。。 然后再想怎么求至少含k个的方案数想到了让集合含这k个数然后随机组就行…

codeforces-1176 (div3)

打div3翻车了 A.第一个操作是除二&#xff0c;第二个操作视为两下操作之后除三&#xff0c;第三个操作视为三下操作之后除五&#xff0c;直接计算贡献 #include <map> #include <set> #include <ctime> #include <cmath> #include <queue> #incl…

微软CRM 2011 Beta 新功能之二:不同组织不同基本语言

微软CRM 4.0就开始提供对多语言的支持&#xff0c;在安装微软CRM 4.0时需要选择不同语言的安装程序&#xff0c;安装完成后该部署服务器上默认组织以及任何新建组织的基本语言跟安装程序的语言一致。虽然我们可以在服务器上安装多个语言包&#xff0c;使用户可以选择要使用的语…

php教育项目,六星教育:如何在PHP项目实战中取胜,获得腾讯等大厂的offer

原标题&#xff1a;六星教育&#xff1a;如何在PHP项目实战中取胜&#xff0c;获得腾讯等大厂的offer我们在进行PHP学习的时候&#xff0c;总会强调实战的重要性。事实也是如此&#xff0c;如果光知道理论知识&#xff0c;而缺乏实际项目的参与与运作&#xff0c;就会变得纸上谈…