数据库表的引擎
一:数据库引擎的定义
数据库引擎简单的来说就是一个数据发动机。当访问数据库时,不管是手工访问,还是程序访问,都
不是直接读写数据库文件,而是通过数据引擎去访问数据库文件。以关系型数据库为例,你发 SQL 语句
给数据库引擎,数据库引擎解释 SQL 语句,提取出你需要的数据返回。因此,对访问者来说,数据库引
擎就是 SQL 语句的解释器。
正式来说,数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可以控制访问权限
并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求,这包括创建用于存储数
据的表和用于查看、管理和保护数据安全的数据库对象
二:数据库引擎的任务
1:设计并创建数据库以保存系统所需要的关系或 xml 文档。
2:实现系统以访问或更改数据库中存储的数据,实现网站或使用数据的应用程序,包括使用 SOL
Server 工具和使用工具已使用数据的过程。
3:为单位或用户部署实现的系统
4:提供日常管理支持优化数据库的性能。
1.innodb:支持数据库的复杂操作,包括外键、事务等
2.myisam:只支持数据基础的增删改查操作
三:mysql 引擎的类别
能用的数据库引擎取决于 mysql 在安装的时候是如何被编译的。要添加一个新的引擎,就
必须重新编译 mysql。在缺省情况下,mysql 支持三个引擎:ISAM、MYISAM 和 HEAP。另
外两种类中 INNODB 和 BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用
MySQL+API 自己做一个
1:ISAM 引擎
是一个定义明确且经历时间考验的数据表格管理方案,它在设计之时就考虑到数据被查
询的次数要远大于更新的次数。因此,ISAM 执行读取操作的速度很快,而且不占用大量的
内存和存储资源。
ISAM 的主要不足之处在于,它不支持事务处理、不支持外来键、不能够容错、也不支
持索引。因为 ISAM 不支持事务,所以如果你的硬盘崩溃例,那么数据文件就无法恢复了。
所以如果你正在把 ISAM 用在关键任务应用程序里,那么就必须经常备份所以的实时数据,
通过其复制特性,MySQL 能够支持这样的备份应用程序。
2:MyISAM 引擎
MyISAM 是 MySQL 的 ISAM 扩展格式。除了提供 ISAM 里所没有的索引(ISAM 允许没
有任何索引和主键的表存在,索引都是保存行的地址)和字段管理的大量功能,MyISAM 还
使用一种表格锁定的机制(表级锁),来优化多个并发的读写操作,其代价是你需要经常运行
OPTIMIZETABLE 命令,来恢复被更新机制所浪费的空间,否则碎片也会随之增加,最终影
响数据访问性能。