专业编程基础技术教程

网站首页 > 基础教程 正文

MySQL数据库的MyISAM和InnoDB mysql inodb

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

InnoDB

1. 是聚集索引,使用的是B+树作为索引结构,数据和索引是绑在一起的,存储在同一个文件中。

MySQL数据库的MyISAM和InnoDB mysql inodb

2. 支持事务,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间组成一个事务。

3. 支持外键。

4. InnoDB不保存表的具体行数,执行select count(*) from table时需要全表扫描。

5. 支持表,行级锁。

6. 必须要有主键。

7. InnoDB的存储文件有两个,表结构frm,存储索引和数据的ibd。

8. 不支持全文索引。

MyISAM

1. 是非聚集索引,也是使用的B+树作为索引结构,但是数据和索引是分离的,分别存储在自己的文件中,索引保存的是数据在数据文件的地址指针。

2. 不支持索引。

3. 不支持外键。

4. MyISAM是有一个变量保存了整个表的行数,查询行数时只需调用该变量,但前提是在没有其他过滤条件的情况下。

5. 支持表级锁。

6. 可以没有主键。

7. MyISAM的存储文件有三个,表结构frm,数据文件myd,索引文件myi

8. 支持全文索引。

最近发表
标签列表