我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL MyISAM默认存储引擎实现原理

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL MyISAM默认存储引擎实现原理

默认MyISAM的表会在磁盘中产生3个文件:.frm(表结构文件)、.MYD(数据文件)、.MYI(索引文件)

  可以在创建的时候指定数据文件和索引文件的存储位置,只有MyISAM表支持:

  •     DATA DIRECTORY [=] 数据保存的绝对路径
  •     INDEX DIRECTORY [=] 索引文件的绝对路径

  MyISAM单表最大支持的数据量为2的64次方跳记录  

  每个表最多可以建立64个索引

  如果是复合索引,每个复合索引最多包含16个列,索引值最大长度是1000B

  MyISAM引擎的存储格式:

  •     定长(FIXED 静态) :是指字段不包含VARCHAR/TEXT/BLOB
  •     动态(DYNAMIC) :只要字段中包含了VARCHAR/TEXT/BLOB
  •     压缩(COMPRESSED):muisampack创建

InnoDB存储引擎:

  设计遵循ACID模型,支持事务,具有从服务崩溃中恢复的能力,能够最大限度保护用户的数据

  支持行级锁,可以提升多用户并发时的读写性能

  InnoDB拥有自己独立的缓冲池,常用的数据和索引都在缓存中

  对于INSERT、UPDATE、DELETE操作,InnoDB会使用一种change buffering的机制来自动优化,还可以提供一致性的读,并且还能够缓存变更的数据,减少磁盘I/O,提高性能

  创建InnoDB表之后会产生两个文件:

  •     .frm表结构文件
  •     .ibd 数据和索引存储表空间中

  所有的表都需要创建主键,最好是配合上AUTO_INCREMENT,也可以放到经常查询的列作为主键

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL MyISAM默认存储引擎实现原理

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

下载Word文档

猜你喜欢

MySQL MyISAM默认存储引擎实现原理

默认MyISAM的表会在磁盘中产生3个文件:.frm(表结构文件)、.MYD(数据文件)、.MYI(索引文件)可以在创建的时候指定数据文件和索引文件的存储位置,只有MyISAM表支持:DATA DIRECTORY [=] 数据保存的绝对路径
2022-05-28

在创建MySQL表时,如何指定我选择的存储引擎而不是使用默认的存储引擎InnoDB?

创建MySQL表时,可以按如下方式指定存储引擎 -mysql> CREATE TABLE Student(id INTEGER PRIMARY KEY, Name VARCHAR(15))-> ENGINE = MyISAM;Query
2023-10-22

MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式

本文基于 MySQL 8在上一篇:MySQL原理 - InnoDB引擎 - 行记录存储 - Compact格式 中,我们介绍了什么是 InnoDB 行记录存储以及 Compact 行格式,在这一篇中,我们继续介绍其他三种行格式。Redundant 行格式这个是
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
2020-12-09

MySql InnoDB存储引擎之Buffer Pool运行原理讲解

目录1. 前言2. Buffer Pool2.1 Buffer Pool结构2.2 Free链表2.3 缓冲页哈希表2.4 Flush链表2.5 LRU链表2.6 多个实例2.7 Buffer Pool状态信息3. 总结1. 前言我们已经
2023-01-04

MySql InnoDB存储引擎之Buffer Pool运行原理讲解

缓冲池是用于存储InnoDB表,索引和其他辅助缓冲区的缓存数据的内存区域。缓冲池的大小对于系统性能很重要。更大的缓冲池可以减少磁盘I/O来多次访问同一表数据。在专用数据库服务器上,可以将缓冲池大小设置为计算机物理内存大小的百分之80
2023-01-04

MySQL原理 - InnoDB引擎 - 行记录存储 - Compact 行格式

MySQL 服务器上负责对表中数据的读取和写入工作的部分是存储引擎,比如 InnoDB、MyISAM、Memory 等等,不同的存储引擎一般是由不同的人为实现不同的特性而开发的,目前OLTP业务的表如果是使用 MySQL 一般都会使用 InnoDB 引擎,这也
MySQL原理 - InnoDB引擎 - 行记录存储 - Compact 行格式
2018-04-24

mysql跨服务查询之FEDERATED存储引擎的实现

目录一、FEDERATED存储引擎1.1、说明:1.2、局限性1.3、跨服务的方式二、开启FEDERATED存储引擎1.1、查看存储引擎三、跨服务连接示例1.1、 目标:1.2、创建关系1.3、成功效果1.4、增删改查一、FEDERATED
2023-01-09

MySql数据库InnoDB引擎ACID的实现原理

那么数据库是如何实现这四大特性的呢? 本文以MySQL的InnoDB引擎为例,详细分析ACID四大事务特性的实现原理; 一、原子性(Atomicity),原子性的特点是一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部
MySql数据库InnoDB引擎ACID的实现原理
2015-09-05

如何实现MySQL底层优化:存储引擎的选择与性能对比

MySQL 是一种强大的开源关系型数据库,可用于各种规模的应用程序。MySQL 支持多种不同的存储引擎,如 MyISAM、InnoDB、Memory、CSV 等,不同的引擎具有不同的功能和性能特点。在进行 MySQL 底层优化时,存储引擎的
如何实现MySQL底层优化:存储引擎的选择与性能对比
2023-11-09

MySQL分页存储过程的实现原理是什么

MySQL分页存储过程的实现原理是通过使用存储过程来动态生成分页查询语句,实现分页功能。存储过程是一组预先编译好的SQL语句组成的代码块,可以接受参数并返回结果。在实现MySQL分页存储过程时,可以将分页查询的逻辑封装在存储过程中,并接受
MySQL分页存储过程的实现原理是什么
2024-04-09

编程热搜

目录