返回介绍

7.3 表引擎

发布于 2025-01-30 20:51:02 字数 1136 浏览 0 评论 0 收藏 0

MySQL 的强大之处在于它的插件式存储引擎,我们可以基于表的特点使用不同的存储引擎,从而达到最好的性能。

如果你足够熟悉,并且有一定工作经验后。你还可以使用阿里巴巴和网易开源出来的 MySQL 引擎在自己的服务器中使用。

大家在后面的一节《数据库结构定义语句》中可以学到创建表的语句。mysql 在创建表的时候,可以指定对应的引擎。

在 mysql 命令中使用:

show engines;

可以查看到当前服务器支持的所有引擎。

我们介绍几种常用的引擎和了解几个不常用的引擎。避免未来在实际工作中看到一些引擎不知道概念。

引擎名称特别
MyISAM常用。读取效率很高的引擎
InnoDB常用。写入,支持事处等都支持
Archive不常用。归档引擎,压缩比高达 1:10,用于数据归档
NDB不常用。主要在 MySQL 集群服务器中使用,不做介绍

MyISAM

不支持事务,表锁(表级锁,加锁会锁住整个表),支持全文索引,操作速度快。常用于读取多的业务。

  1. myisam 存储引擎表由 myd 和 myi 组成。.myd 用来存放数据文件,.myi 用来存放索引文件。
  2. 对于 myisam 存储引擎表,mysql 数据库只缓存其索引文件,数据文件的缓存由操作系统本身来完成。

InnoDB

  1. 支持事务,主要面向在线事务处理(OLTP) 方面的应用。
  2. 行锁设计,支持外键,即默认情况下读取操作不加锁。

InnoDB 是为处理巨大数据量时的最大性能设计。


注:
行锁:写入、更新操作的时候将这一行锁起来,不让其他人再操作了。
表锁:写入、更新操作时,将表给锁起来不让其他人再操作了。
事务:同时操作多个数据,若其中的一个数据操作失败。可回滚到操作之前。常用于银行、电商、金融等系统中。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文