深入理解MySQL的数据库引擎的类型
2023-06-13 09:15:00 时间
你能用的数据库引擎取决于mysql在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP 。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。
ISAM
ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MYSQL能够支持这样的备份应用程序。
MYISAM
MYISAM是MYSQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MYISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZETABLE命令,来恢复被更新机制所浪费的空间。MYISAM还有一些有用的扩展,例如用来修复数据库文件的MYISAMCHK工具和用来恢复浪费空间的MYISAMPACK工具。
MYISAM强调了快速读取操作,这可能就是为什么MYSQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。
HEAP
HEAP允许只驻留在内存里的临时表格。驻留在内存使得HEAP比ISAM和MYISAM的速度都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间,HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,用完表格后要删除表格。
INNODB和BERKLEYDB
INNODB和BERKLEYDB(BDB)数据库引擎都是造就MYSQL灵活性的技术的直接产品,这项技术就是MySql++API。在使用MySql的时候,你所面对的每一个挑战几乎都源于ISAM和MYIASM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和MYISAM引擎慢很多,但是INNODB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中的一个了。
MYISAM强调了快速读取操作,这可能就是为什么MYSQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。
相关文章
- 【最快捷】解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQL详解数据库
- 快速搞定:用 wget 下载 MySQL(wget下载mysql)
- MySQL性能提升之路:分析性能障碍.(mysql性能分析)
- MySQL中获取首条数据的实用方法(mysql取第一条数据)
- MySQL数据库连接:创建步骤与实践(创建mysql数据库连接)
- 应用MySQL集群:强大的分布式应用功能(mysql集群有哪些)
- 优化MySQL库表优化:加快数据库性能运行(mysql库表)
- Mysql自身连接:让数据库更安全、更易用(mysql自身连接)
- MySQL EXISTS: A Guide to Using This Useful Operator(mysql的exists)
- 快速学会MySQL数据库表导入(mysql导入数据库表)
- MySQL位运算提升效率的秘诀(mysql位运算效率)
- 快速上手MySQL!25字部署方案教你搭建数据库(mysql部署方案)
- MySQL触发器:加强数据库操作的利器(mysql中触发器的使用)
- MySQL调整编码:完美实现数据统一(mysql更改编码)
- MySQL文件扩展名解析(mysql后缀名)
- MySQL 运行查询:揭秘每天的超级数据(mysql查询天数据)
- 京东数据库迈向高性能:优化MySQL架构加速业务发展(mysql高性能京东)
- 使用VC轻松查询MySQL数据库(vc查询mysql)
- 一步步教你清空MySQL数据库(mysql清空数据库命令)
- MySQL数据库备份小工具实用攻略(mysql备份工具)
- 库MySQL快速修改数据库的步骤(mysql 修改数据)
- MySQL存储引擎:改造更加高效(mysql存储引擎修改)
- CAD技术与MySQL数据库的融合(cad与mysql)
- MySQL多库共享技巧实现不同数据库之间的数据共享(mysql不同的库共享)
- 避免小数运算错误,MySQL应用中不要轻视小数类型(mysql 不要小数)