数据库和实例定义
数据库:物理操作系统文件或者其他形式文件类型的结合。在MYSQL数据库中,数据库文件可以是frm、MYD、MYI、ibd结尾的文件。
实例:MYSQL数据库由后台线程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享。需要牢记的是,数据库实例才是真正用于操作数据库文件的。
MYSQL被设计为一个单进程多线程架构的数据库。
MYSQL体系结构
MYSQL体系结构由Client Connectors层,MySQL Server 层及存储引擎层组成。
- Client Connectors层
- MySQL Server 层
- 连接池组件
- 管理服务和工具组件
- SQL接口组件
- Parser查询分析器组件
- Optimzer优化器组件
- Caches缓冲组件
- 存储引擎层
- 插件式储存引擎
- 物理文件:二进制文件、数据文件、错误日志、慢查询日志、全日制、redo/undo 日志等
需要特别注意的是:存储引擎是基于表的,而不是数据库。
存储引擎
MyISAM与InnoDB存储引擎区别
- 事务支持
- MyISAM 强调的是性能,每次查询具有原子性,其执行数度比 InnoDB 类型更快,但是不提供事务支持。
- InnoDB 提供事务支持事务,外部键等高级数据库功能。 具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全 (transaction-safe (ACID compliant))型表。
- InnoDB 支持行级锁,而 MyISAM 支持表级锁用户在操作 myisam 表时,select,update,delete,insert 语句都会给表自动加锁,如果加锁以后的表满足 insert 并发的情况下,可以在表的尾部插入新的数据。
- InnoDB 支持 MVCC, 而 MyISAM 不支持
- InnoDB 支持外键,而 MyISAM 不支持
- 表主键
- MyISAM 允许没有任何索引和主键的表存在,索引都是保存行的地址。
- InnoDB 如果没有设定主键或者非空唯一索引,就会自动生成一个 6 字节的主键(用户不可见),数据是主索引的一部分,附加索引保存的是主索引的值。
- InnoDB 不支持全文索引,而 MyISAM 支持
- 可移植性、备份及恢复
- MyISAM 数据是以文件的形式存储,所以在跨平台的数据转移中会很方便。在备份和恢复时可单独针对某个表进行操作。
- InnoDB 免费的方案可以是拷贝数据文件、备份binlog,或者用 mysqldump,在数据量达到几十 G 的时候就相对痛苦了
- 存储结构
- MyISAM 每个 MyISAM 在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm 文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。
- InnoDB 所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB。
InnoDB引擎的4大特性
- 插入缓冲(insert buffer)
- 二次写(double write)
- 自适应哈希索引(ahi)
- 预读(read ahead)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
455次阅读
2025-04-25 18:53:11
Oracle SQL 执行计划分析与优化指南
Digital Observer
446次阅读
2025-04-01 11:08:44
墨天轮个人数说知识点合集
JiekeXu
444次阅读
2025-04-01 15:56:03
MySQL数据库当前和历史事务分析
听见风的声音
426次阅读
2025-04-01 08:47:17
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
404次阅读
2025-04-25 15:30:58
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
390次阅读
2025-03-28 16:28:31
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
358次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
355次阅读
2025-04-15 23:49:58
火焰图--分析复杂SQL执行计划的利器
听见风的声音
332次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
331次阅读
2025-04-15 14:48:05