您的位置:首页 > 文旅 > 旅游 > 第六章 存储引擎MyISAM和InnoDB

第六章 存储引擎MyISAM和InnoDB

2024/10/6 4:07:09 来源:https://blog.csdn.net/Shandy_stark223/article/details/140806264  浏览:    关键词:第六章 存储引擎MyISAM和InnoDB

存储引擎

概念

  • 数据库存储引擎是数据库底层组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。
  • 不同的存储引擎提供不同的存储机制、索引功能、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。
  • 存储引擎是针对数据表的,在同一个数据库中,不同的表可以使用不同的存储引擎。

类型

功能

MylSAM

MEMORY

InnoDB

存储限制

256TB

内存

64TB

支持事务

No

No

Yes

支持全文索引

Yes

No

No

支持树索引

Yes

Yes

Yes

支持哈希索引

No

Yes

No

支持数据缓存

No

N/A

Yes

支持外键

No

No

Yes

  • InnoDB:行级锁定(select * from tableName where name = 'tom' for update;)锁定该表的更新功能
  • MyISAM:表级锁定

数据库实例

MylSAM

.frm、.MYD、MYI文件,这些文件都是MyISAM存储引擎生成的

[root@localhost ~]# cd /usr/local/mysql/data/mysql
[root@localhost mysql]# ls
user.frm
user.MYD
user.MYI
  • .frm
    • 数据表结构,比如表有多少列,每个列的名字
  • .MYD
    • 存放表中数据
  • .MYI
    • 专门存放索引的信息的文件

InnoDB

.frm和.ibd文件,这些文件都是MyISAM存储引擎生成的。

[root@localhost ~]# cd /usr/local/mysql/data/auth
[root@localhost auth]# ls
db.opt  users.frm  users.ibd
  • .frm
    • 存放数据表的元数据
  • .ibd
    • 和MyISAM的.MYD文件类似,存放数据表中的数据
  • .opt
    • 存放MySQL的配置信息

查看指定表的存储引擎类型

登录进MySQL,使用下方代码块内的show命令查看指定库指定表的状态信息

  • Engine: InnoDB:该表使用的存储引擎
  • Create_time:创建该表的时间
  • Collation: utf8_general_ci:校对字符集

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com