首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
java面试题基础
冒泡排序算法
插入排序算法
归并排序算法
二叉树排序算法
基数排序
选择排序
堆排序
快排
TCP-三次握手
HTTP协议
WebSocket
Mysql架构
Innodb与Myisam数据库引擎
事务隔离级别
面向对象(OOP)
异常
泛型
Object
StringBuilder
代理
注解
java面试题基础二
HashMap
ConcurrentHashMap
BlockingQueue
线程
Volatile
AtomicInteger
Synchronized
Java虚拟机架构
类加载器
内存模型
垃圾回收
Mybatis面试题
IOC
高并发系统设计
分布式缓存
分布式锁
分布式事务
消息队列
当前位置:
首页>>
技术小册>>
Java面试指南
小册名称:Java面试指南
### InnoDB存储引擎 InnoDB是MySQL和MariaDB的存储引擎之一。它提供了标准的ACID事务特性,以及外键支持和行级锁定等功能,从而提高了数据库的可靠性和性能。以下是InnoDB引擎的优缺点: **优点:** 可靠性高: InnoDB的设计目标是将可靠性置于高优先级,它通过多种方式来确保数据的完整性,如ACID事务,崩溃恢复和日志记录等。 高性能: InnoDB的高性能体现在多个方面,包括行级锁定,多版本并发控制(MVCC),自适应哈希索引,缓存池等。这些功能可以提高多用户并发访问数据库的效率和速度。 支持外键: InnoDB支持外键,使得多表之间的关联可以更加方便和可靠地实现。 支持大规模数据库: InnoDB可以支持大规模数据库,它使用缓存池和自适应哈希索引等机制来提高大型数据集的查询性能。 **缺点:** 占用空间大: InnoDB存储引擎需要更多的存储空间来存储表数据和索引,这是因为它使用了多版本并发控制(MVCC)机制,需要存储多个版本的数据。 读写效率相对较低: InnoDB的行级锁定机制虽然提高了并发性能,但同时也导致了读写效率相对较低的问题。 对于只读型操作的性能相对较差: InnoDB存储引擎在只读型操作方面的性能相对较差,这是因为它需要在缓存中维护事务日志和历史版本数据。 总之,InnoDB引擎通过提供高可靠性和高性能等多种功能,使得它成为了MySQL和MariaDB的首选存储引擎之一,但是在占用空间、读写效率和只读型操作方面还存在一些缺点。 ------------ ### Myisam存储引擎 MyISAM是MySQL的一种数据库引擎,其优点包括读取速度快、占用资源少、支持全文索引等。它还能通过缓存索引减少磁盘I/O,提高访问性能。但是,它不支持事务和行级锁,也不支持外键约束,且在崩溃后无法安全恢复。 此外,MyISAM的数据表不会缓存数据。因此,它适用于不需要事务支持、读取操作比较多、写入和修改操作比较少、数据并发量较低、硬件条件比较差等场景。 在MySQL 5.5版本之后,MySQL引入了InnoDB数据库引擎以弥补MyISAM的不足,并逐渐取代MyISAM。InnoDB的最大特色是支持ACID兼容的事务功能,类似于PostgreSQL,此外还支持行级锁,提供更好的并发性和安全性。因此,如果需要支持事务、要求并发性高和安全性好,建议使用InnoDB引擎。
上一篇:
Mysql架构
下一篇:
事务隔离级别
该分类下的相关小册推荐:
手把手带你学习SpringBoot-零基础到实战
Mybatis合辑5-注解、扩展、SQL构建
Java高并发秒杀入门与实战
Java必知必会-JDBC
Java语言基础7-Java中的异常
Mybatis合辑1-Mybatis基础入门
Java语言基础2-运算符
Java语言基础13-类的加载和反射
SpringBoot零基础到实战
Java语言基础10-Java中的集合
经典设计模式Java版
Java语言基础16-JDK8 新特性