当前位置: 首页 > article >正文

MySQL进阶篇 - 存储引擎

01 MySQL体系结构

【1】索引是在存储引擎层实现的,不同的存储引擎,索引的结构是不一样的。

【2】InnoDB引擎是MySQL5.5版本之后默认的存储引擎。

【3】MySQL体系结构分为客户端和服务器,服务器又分为4个层次。

02 存储引擎简介

【1】引擎:发动机,发动机是一个机器的核心部分。不同的引擎有不同的应用场景,引擎之间是没有好坏之分的。

【2】存储引擎:

   ① 是MySQL中特有的,它是MySQL数据库中存储数据,建立索引,更新/查询数据等技术实现方式。

   ② 不同的存储引擎在存储数据,建立索引,更新/查询数据等时采用的机制是不一样的。

   ③ 存储引擎是基于数据库表的,而不是基于数据库的,也就是说在一个数据库的多张表是可以选择不同的存储引擎的。

【3】展示当前数据库支持的所有存储引擎:show engines;

【4】如何指定存储引擎:create table xx () engine = 存储引擎,... ;

         注意:MySQL5.5之后,不写默认是InnoDB存储引擎。

03 存储引擎特点

03_01 InnoDB

【1】介绍:InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎

【2】特点:

   ① 事务:DML操作遵循ACID模型,支持事务。

   ② 行级锁:提高并发访问性能。

   ③ 外键:支持外键foreign key约束,保证数据的完整性和正确性。

【3】文件:每一个使用InnoDB存储引擎的表,都会有一个表空间文件,这个文件名叫:表名.ibd,这个文件中存储了表结构,表中的数据,索引。

         补充:表结构早期存储在frm文件中,MySQL8.0之后表结构都存储在了sdi这个数据字典中,后来sdi又融入到了ibd表空间文件中。

         参数:innodb_file_per_table,决定到底是多张表共用一个表空间文件,还是每一个表都有自己的表空间文件。目前MySQL8.0中这个开关是打开的,也就意味着,每一张表都对应着一个表空间文件。

【4】InnoDB存储引擎的逻辑存储结构:SQL优化会用到!

03_02 MyISAM

【1】介绍:MySIAM是MySQL早期默认的存储引擎

【2】特点:

   ① 不支持事务,不支持外键

   ② 支持表锁,不支持行锁

   ③ 访问速度快

【3】文件:

   ① xxx.sdi:存储表结构信息

   ② xxx.MYD:存储数据

   ③ xxx.MYI:存储索引

03_03 Memory

【1】介绍:Memory引擎的表数据是存储在内存中的,由于受到硬件问题,或断电问题的影响,只能将这些表作为临时表或缓存使用

【2】特点:

   ① 由于数据都是存储在内存中的,所以访问速度快

   ② 支持hash索引

【3】文件:xxx.sdi:存储表结构信息

03_04 常见的三个存储引擎之间的区别

【面试题】:InnoDB与MyISAM的区别:

     ① InnoBD支持事务,MyISAM不支持事务

     ② InnoDB支持行级锁,MyISAM支持表锁

     ③ InnoDB支持外键,MySIAM不支持外键

04 存储引擎选择


http://www.kler.cn/news/330885.html

相关文章:

  • 硬件-开关电源-结构组成及元件作用
  • visual studio2022添加新项中没有html和css
  • 深入理解人工智能:从机器学习到深度学习
  • 过渡到内存安全语言:挑战和注意事项
  • 机器学习西瓜书笔记(十三) 第十三章半监督学习+代码
  • 软件工程-软件测试
  • [Notepad++] 文本编辑器的下载及详细安装使用过程(附有下载文件)
  • python-斐波那契词序列/最大回文乘积/求最大最小k个元素
  • EasyCVR视频汇聚平台:解锁视频监控核心功能,打造高效安全监管体系
  • C语言 | Leetcode C语言题解之第450题删除二叉搜索树中的节点
  • java将mysql表结构写入到word表格中
  • 小程序-全局数据共享
  • 【Linux系统编程】权限
  • 广联达 Linkworks办公OA Service.asmx接口存在信息泄露漏洞
  • LeetCode 704. 二分查找
  • 2024年09月CCF-GESP编程能力等级认证C++编程一级真题解析
  • @antv/x6 嵌入结点到父节点中时,进行检测,查看当前节点是否是父结点,如果是父结点,不可以嵌入到父结点中,实现方法一。
  • 【AIGC】内容创作——AI文字、图像、音频和视频的创作流程
  • PHP反序列化7(字符串逃逸)
  • 《OpenCV 计算机视觉》—— Harris角点检测、SIFT特征检测