MySQL常见的存储引擎(InnoDB、MyISAM)data目录下(.frm,.myi,.myd)

查看支持的存储引擎

SHOW ENGINES;show variables like '%storage_engine%'; 看你的mysql当前默认的存储引擎:

data目录

如果一个表同时有这3个文件,则存储引擎是myisam:
(1*.frm--表定义,是描述表结构的文件。2*.MYD--"D"数据信息文件,是表的数据文件。3*.MYI--"I"索引信息文件,是表数据文件中任何索引的数据树。

1 InnoDB存储引擎 .frm .ibd

InnoDB存储引擎总支持AUTO_INCREMENT。自动增长列的值不能为空,并且值必须唯一。
MySQL中规定自增列必须为主键。在插入值的时候,如果自动增长列不输入值,则插入的值为自动增长后的值;
如果输入的值为0或空(NULL),则插入的值也是自动增长后的值;
如果插入某个确定的值,且该值在前面没有出现过,就可以直接插入。 
InnoDB还支持外键(FOREIGN KEY)。
外键所在的表叫做子表,外键所依赖(REFERENCES)的表叫做父表。
父表中被字表外键关联的字段必须为主键。
当删除、更新父表中的某条信息时,子表也必须有相应的改变,这是数据库的参照完整性规则。

1.1 存储 .frm .ibd

InnoDB中,创建的表的表结构存储在.frm文件中。 
数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间中。

1.2 InnoDB的优势缺点

在于提供了良好的事务处理、崩溃修复能力和并发控制。 
支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。
如果有大量的updateinsert,建议使用InnoDB,特别是针对多个并发和QPS较高的情况。
Innodb支持事务和行级锁,是innodb的最大特色。 
缺点是读写效率较差,占用的数据空间相对较大。

1.3 InnoDB事务

innodb支持事务和行级锁,是innodb的最大特色。事务的ACID属性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability) 并发事务带来的几个问题:更新丢失,脏读,不可重复读,幻读。 事务隔离级别:读未提交(Read uncommitted),读已提交(Read committed),可重复读(Repeatable read),串行化(Serializable) show global variables like 'tx_isolation';

2 MyISAM存储引擎

MyISAM是MySQL中常见的存储引擎,曾经是MySQL的默认存储引擎。
MyISAM是基于ISAM引擎发展起来的,增加了许多有用的扩展。 
基于MyISAM存储引擎的表支持3种不同的存储格式。
包括静态型、动态型和压缩型。
其中,静态型是MyISAM的默认存储格式,它的字段是固定长度的;动态型包含变长字段,记录的长度不是固定的;
压缩型需要用到myisampack工具,占用的磁盘空间较小。

2.1 MyISAM的表存储成3个文件 .frm .myd .myi

文件的名字与表名相同。拓展名为frm、MYD、MYI。
frm文件存储表的结构;
myd文件存储数据,是MYData的缩写;
myi文件存储索引,是MYIndex的缩写。

2.2 MyISAM的优势缺点

MyISAM的优势在于占用空间小,处理速度快。 
缺点是不支持事务的完整性和并发性。 
不是事务安全的,而且不支持外键,如果执行大量的selectinsert MyISAM比较适合 myisam只支持表级锁

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

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

相关文章

低代码(Low Code):美味膳食还是垃圾食品?如何入门低代码?

文章目录 低代码:美味膳食还是垃圾食品?1. 什么是低代码开发?2. 低代码开发的优势2.1 提高效率2.2 降低门槛 3. 低代码开发的挑战3.1 安全性问题3.2 可扩展性和灵活性问题 4. 低代码开发是美味膳食还是垃圾食品?5. 低代码能否替代…

【Android】查看keystore的公钥和私钥

前言: 查看前准备好.keystore文件,安装并配置openssl、keytool。文件路径中不要有中文。 一、查看keystore的公钥: 1.从keystore中获取MD5证书 keytool -list -v -keystore gamekeyold.keystore 2.导出公钥文件 keytool -export -alias …

基于超声技术的气体流量测量仪设计

摘要 科学地解决能源三气的计量问题,一直是业界困扰的问题。进入二十一世纪以来,用于测量气体流量的超声波流量计以其无压损、无阻力、量程比宽、受流体限制少等优点受到业界的广泛关注。随着国内人民生活水平的提高,科技不断地进步&#xff…

slurm学习(1)

slurm 指定节点SLURM 使用基础教程slurm节点,分区,作业信息说明slurm作业提交系统常用命令slurm nodelist中国科大超算中心用户使用手册slurm:使用nodelist中的任何节点SLURM 使用参考Slurm执行的CPU管理步骤 (我想提高我的cpu利用率来着,可是没看明白这…

iOS常用第三方框架

1、网路请求 -- Moya 2、数据存储处理 -- SQLite.swift 3、数据解析、转换 -- SwiftyJSON、ObjectMapper 4、对NSUserDefaults的封装 -- SwiftyUserDefaults 5、图片加载、处理 -- SDWebImage 6、轮播图 -- FSPagerView 7、键盘管理 -- IQKeyboardManagerSwift 8、弹框提…

天线是什么

天线 电子元器件百科 文章目录 天线前言一、天线是什么二、天线的类别三、天线的应用实例四、天线的作用原理总结前言 不同种类和设计的天线用于不同的应用领域,如广播、电视、无线通信、雷达、卫星通信、导航系统等。常见的天线类型包括柱状天线、片状天线、螺旋天线、饼叶天…

JavaScript <关于AES/DES`代码+白话`讲解和对比>--案例(四)

前言: 有XX私信,说他对于aes和des的解密有点混淆;说实话,我当初也混淆.其实案例搞多了,就清楚了;但是,今天把它稍微梳理一下,整理出来,对你对我都是交代; 正文: AES(Advanced Encryption Standard)和 DES(Data Encryption Standard&#xf…

Node.js快速搭建简单的HTTP服务器并发布公网远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

TCP传输的三次握手四次挥手策略

TCP传输的三次握手四次挥手策略如下: 第一次握手:客户端发送一个带有SYN标志的数据包给服务器,并记为SYN_Client。第二次握手:服务器收到SYN_Client后,向客户端发送一个带有SYN和ACK标志的数据包,记为SYN_…

西工大计算机学院计算机系统基础实验一(函数编写15~17)

还是那句话,稳住心态,稳住心态,稳住心态。心里别慌,心里别慌,心里别慌。 第15题,howManyBits,返回用二进制补码形式表示x所需的最小二进制位数。比如howManyBits(12) 5,12可以被表…

初学vue3与ts:vue3选项式api获取当前路由地址

vue2的获取方法 this.$route.pathvue3选项式api获取方法 import { useRouter } from vue-router; const router useRouter(); console.log(router) console.log(router.currentRoute.value.path)

测开速成考点

用户登录界面需要做哪些测试? ⑴功能:  正确的用户名,正确的密码,点击提交按钮,验证能否正确登录 是否跳转正确页面。  错误的用户名 或 密码,点击提交,提示相应的错误信息。  记住用户名…

Word文件设置了只读模式,为什么还能编辑?

Word文档设置了只读模式,为什么还可以编辑呢?,不过当我们进行保存的时候会发现,word提示需要重命名并选择新路径才能够保存,是因为什么呢?今天我们学习一下如何解决问题。 这种操作,即使可以编辑…

Python-文件详解

一个计算机包括:CPU、存储器、输入设备、输出设备 存储器分为内存和硬盘 文件路径:一层一层文件目录组成的字符串 文件路径可以视为文件在硬盘中的身份标识,因为每一个文件的1路径唯一 文件之间使用/反斜杠和\正斜杠都一样 内存和硬盘的区别…

AI文本生成工具-免费AI文本生成软件

在当今数字时代,人工智能技术的快速发展不仅改变了我们的生活方式,还在创作领域崭露头角。其中,AI文本生成技术的迅猛发展引起了广泛关注。本文将深入探讨AI文本生成的方法、工具以及一些关键技巧,帮助读者更好地了解并利用这一前…

Run Micro-ROS on almost any stm32

Run Micro-ROS on almost any stm32 - Tech blog (guillaumebeuzeboc.github.io) Run Micro-ROS on almost any stm32 19 Sep 2021 c, cmake, stm32, micro-ros, clion 如果用的不是STM32F4,需要自己去生成micro_ros_stm32cubemx_utils库 Micro-ROS brings the…

你知道模拟养成游戏如何开发吗?

在游戏开发的世界中,模拟养成游戏一直以其引人入胜的玩法和独特的虚拟体验吸引着玩家的目光。从概念的孵化到最终的上线,模拟养成游戏的开发是一个富有挑战性又充满创意的过程。本文将带你深入了解这一过程,揭示模拟养成游戏背后的秘密&#…

UNIX 文件权限设置的相关函数

函数 umask umask 函数为进程设置文件模式创建屏蔽字&#xff0c;并返回之前的值。这个函数没有出错返回&#xff0c;它不会出错. #include <sys/stat.h> mode_t umask(mode_t cmask); // 返回值&#xff1a;为文件模式创建屏蔽字 其中&#xff0c;参数 cmask 是由 文…

qt 5.15.2 主窗体菜单工具栏树控件功能

qt 5.15.2 主窗体菜单工具栏树控件功能 显示主窗体效果&#xff1a; mainwindow.h文件内容&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QFileDialog> #include <QString> #include <QMessageBox>#inc…

m1通过源码编译xgboost4j的jar

1、下载源码 git clone --recursive https://github.com/dmlc/xgboost cd xgboost 编译xgboost的动态链接库dylib&#xff0c;m1源码编译xgboost的动态链接库dylib文件 2、编译XGBoost的jar文件&#xff1a; A、如果没有安装maven可以通过以下命令进行安装&#xff0c;如果安…