当前位置:网站首页>数据库引擎
数据库引擎
2022-06-27 18:05:00 【无敌的神龙战士】
MyISAM和InnoDB

数据存储的方式不一样,一张表要存储表结构,表数据,表索引。
myisam
myisam一张表有proxies_priv.frm .myd .myi,他的数据和索引是单独存放的,
innodb
除了存储表结构,它的数据和索引是存在一个文件当中的(server_cost.ibd).frm。这也是innodb存储引擎情况下,你就算没给它加主键,它也会自动给你生成一个主键。而myisam有加主键,才给你加,因为数据和索引是单独存放的。数据归数据,索引归索引。
myisam和innodb的区别
MyISAM 不支持事务、也不支持外键,索引采用非聚集索引,其优势是访问的速度快,对事务完整性没有要求,以 SELECT、INSERT 为主的应用基本上都可以使用这个存储引擎来创建表。MyISAM的表在磁盘上存储成 3 个文件,其文件名都和表名相同,扩展名分别是:
.frm(存储表定义)
.MYD(MYData,存储数据)
.MYI (MYIndex,存储索引)
InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全,支持自动增长列,外键等功能,索引采用聚集索引,索引和数据存储在同一个文件,所以InnoDB的表在磁盘上有两个文件,其文件名都和表名相同,扩展名分别是:
.frm(存储表的定义)
.ibd(存储数据和索引)
为什么在InnoDB,你创建一个表,没有加主键,它自动给你加主键(整型的一个列)呢?因为数据和索引是一起存放的。
MEMORY 存储引擎使用存在内存中的内容来创建表。每个MEMORY 表实际只对应一个磁盘文件,格式是.frm(表结构定义)。MEMORY 类型的表访问非常快,因为它的数据是放在内存中的,并且默认使用 HASH 索引(不适合做范围查询),但是一旦服务关闭,表中的数据就会丢失掉。
各存储引擎的区别
重点:索引,锁机制,事务
锁机制:表示数据库在并发请求访问的时候,多个事务在操作时,并发操作的粒度。
B-树索引和哈希索引:主要是加速SQL的查询速度。
外键:子表的字段依赖父表的主键,设置两张表的依赖关系。
事务:多个SQL语句,保证它们共同执行的原子操作,要么成功,要么失败,不能只成功一部分,失败需要回滚事务。
索引缓存和数据缓存:和MySQL Server的查询缓存相关,在没有对数据和索引做修改之前,重复查询可以不用进行磁盘I/O(数据库的性能提升,目的是为了减少磁盘I/O操作来提升数据库访问效率),读取上一次内存中查询的缓存就可以了。
边栏推荐
- Leetcode 1381. 设计一个支持增量操作的栈
- Common shell script commands (III)
- 连接集成开发专题月 | 企业主数据治理的驱动因素
- MASS幸运哈希游戏系统开发丨冲突解决方法(代码分析)
- Erreur Keil de Huada Single Chip Computer La solution de Weak
- Manage rust project through cargo
- 1025 PAT Ranking
- Photoshop layer related concepts layercomp layers move rotate duplicate layer compound layer
- Implementation of reliable distributed locks redlock and redisson
- shell脚本常用命令(四)
猜你喜欢

Doctoral Dissertation of the University of Toronto - training efficiency and robustness in deep learning

指针和结构体

带你认识图数据库性能和场景测试利器LDBC SNB

Blink SQL built in functions

华大单片机KEIL添加ST-LINK解决方法

拥抱云原生:江苏移动订单中心实践

数组练习 后续补充

UE4:Build Configuration和Config的解释

Adding, deleting, modifying and querying MySQL tables (basic)

华大单片机KEIL报错_WEAK的解决方案
随机推荐
Photoshop layer related concepts layercomp layers move rotate duplicate layer compound layer
Implementation of reliable distributed locks redlock and redisson
多伦多大学博士论文 | 深度学习中的训练效率和鲁棒性
Batch insert data using MySQL bulkloader
Longitude and latitude analysis
从指令交读掌握函数调用堆栈详细过程
MySQL表的增删改查(基础)
Running lantern experiment based on stm32f103zet6 library function
在线文本按行批量反转工具
GIS remote sensing R language learning see here
流程判断-三目运算-for循环
SQL Server - Window Function - 解决连续N条记录过滤问题
Adding, deleting, modifying and querying MySQL tables (basic)
MySQL beginner benefits
华大单片机KEIL报错_WEAK的解决方案
Is the account opening QR code given by CICC securities manager safe? Who can I open an account with?
带你认识图数据库性能和场景测试利器LDBC SNB
Redis cluster Series II
1023 Have Fun with Numbers
【云驻共创】 什么是信息化?什么是数字化?这两者有什么联系和区别?