当前位置:网站首页>Mysql_14 存储引擎
Mysql_14 存储引擎
2022-08-05 00:01:00 【萨科塔资深干员】
存储引擎
Mysql 体系结构
连接层:连接池部分,与客户端连接,并检查授权认证、权限、最大连接数等。
服务层:SQL接口一行,绝大部分核心功能如SQL解析优化、所有跨存储引擎的实现都在这一层。
引擎层:可插拔存储引擎一行,索引在这一层实现,决定数据库数据如何存、取、组织。如果当前引擎不满足需求还可以拓展,因此被称作可插拔。
存储层:最下面一行,存取数据库的相关数据。
存储引擎简介
存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的。
查询建表语句:show create table 表名;
时在结尾就可以看到该表的存储引擎。
show engines;
查询当前数据库支持的所有引擎。
创建指定引擎的表:create table (...) engine=指定引擎;
修改表引擎:alter table 表名 engine=指定引擎;
InnoDB
高性能存储引擎,Mysql 5.5后的默认引擎。
支持事务、行级锁、外键。
文件后缀.ibd是InnoDB存储引擎的表空间文件,每个表有一个,存储表结构数据和索引。表结构早期是frm,后来变成sdi,sdi又融入了ibd格式中。
有一个系统变量innodb_file_per_table
,可以通过show variables like 'innodb_file_per_table'
查看,ON则表示每张表都对应一个表空间文件ibd。
ibd文件在mysql文件夹-data文件夹-对应数据库文件夹里。
ibd文件直接打开是看不了的,都是二进制。可以进入目标文件夹后,通过命令行ibd2sdi 指定表名.ibd
,就可以查看该表的json文件信息了。
表空间文件逻辑存储结构如图所示,段-区-页-行,每一行就是表中的一行数据。
一个区大小固定为1M,一页大小固定为16K。(大概了解,SQL优化部分还要涉及)
MYISAM
数据库早期的默认存储引擎。(现在功能几乎可以被NoSQL的Mongodb取代)
不支持事务和外键,支持表锁,不支持行锁,访问速度快。
存储文件包括:
.MYD:数据
.MYI:索引
.sdi:表结构,可以直接打开,里面装的是json格式内容(可以通过json.cn格式化)。
Memory
存放在内存中,数据是临时的。(现在功能几乎可以被NoSQL的Redis取代)
访问速度快,支持hash索引。
存储文件只包括:.sdi,因为数据索引都存在内存里了。
三种存储引擎的选择
边栏推荐
猜你喜欢
The master teaches you the 3D real-time character production process, the game modeling process sharing
Three tips for you to successfully get started with 3D modeling
情人节---快来学习一下程序员的专属浪漫吧
【LeetCode】双指针题解汇总
英特尔WiFi 7产品将于2024年亮相 最高速度可达5.8Gbps
Mathematical Principles of Matrix
uniapp动态实现滑动导航效果demo(整理)
Essential knowledge for entry-level 3D game modelers
看图识字,DELL SC4020 / SCv2000 控制器更换过程
【CVA估值训练营】财务建模指南——第一讲
随机推荐
jenkins发送邮件系统配置
Day118. Shangyitong: order list, details, payment
没有这些「伪需求」,产品经理的 KPI 怎么完成?
IDEA 文件编码修改
MongoDB permission verification is turned on and mongoose database configuration
三大技巧让你成功入门3D建模,零基础小白必看
node中package解析、npm 命令行npm详解,node中的common模块化,npm、nrm两种方式查看源和切换镜像
How to automatically push my new articles to my fans (very simple, can't learn to hit me)
【手撕AHB-APB Bridge】~ AMBA总线 之 AHB
MAUI Blazor 权限经验分享 (定位,使用相机)
隐私计算综述
在线中文姓名生成工具推荐
Laravel 实现redis分布式锁
[LeetCode] Summary of Matrix Simulation Related Topics
数据类型及输入输出初探(C语言)
IDEA file encoding modification
Handwritten Distributed Configuration Center (1)
.net (C#) get year month day between two dates
2022年华数杯数学建模
KT148A语音芯片怎么烧录语音进入芯片里面通过串口和电脑端的工具