专业编程基础技术教程

网站首页 > 基础教程 正文

MySQL数据表MyISAM和InnoDB mysql =和in

ccvgpt 2024-10-12 14:02:20 基础教程 8 ℃

MySQL和大多数数据库不同, MySQL有一个存储引擎概念。

MySQL数据表MyISAM和InnoDB mysql =和in

MySQL可以针对不同的存储引擎需求可以选择最优的存储引擎

引擎 数据表类型

我们只学12中的MyISAM 和 InnoDB两个

create table () type InnoDB;

create table () engine InnoDB;

MyISAM 表类型是默认的

选择MyISAM还是选择InnoDB

注意: 在一个MySQL库中可以(创建表时)指定不同表类型

MyISAM 表类型

OPTIMIZE TABLE 表名

强调快速读取操作

也有缺点:有一些功能不支持

InnoDB 表类型

支一些MyISAM所不支技功能

也有缺点:占用空间大

功能 MyISAM InnoDB

事务处理 不支持 支持

数据行锁定 不支持 支持

外键约束 不支持 支持

表空间占用 相对小 相对大 最大2倍

全文索引 支持 不支持


  • MyISAM 默认的MySQL插入式存储引擎。 如果应用时以读操作和插入操作为主,只有很少的更新和删除操作,并且对事物的完整性和并发性要求不是很高,那么选择这个存储引擎是非常合适的。MyISAM是在web,数据仓储和其他应用环境下最常用的存储引擎之一。其优点就是访问速度快。


  • InnoDB 用于事务处理的应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询以外,还包括很多的更新、删除操作,那么InnoDB存储引擎应该是比较合适的。InnoDB可以使用LAST_INSERT_ID()查询当前最后插入记录的ID。 InnoDB存储引擎除了有效的降低了由于删除和更新导致的锁定,还可以确保事务的完整提交(Commit)和回滚(Rollback),对于类似计费系统或者财务系统等对数据准确性比较高的系统,InnoDB都是合适的选择。

最近发表
标签列表