MySQL存储引擎

本文介绍了MySQL的存储引擎,包括官方的MyISAM、Memory、Federated、CSV、Archive等,以及第三方的TokuDB和InfoBright。重点讨论了MyISAM引擎,它曾是MySQL5.1之前的默认引擎,具有堆表数据结构、表锁设计,但不支持事务,数据易丢失,目前主要由于历史原因仍在使用。
摘要由CSDN通过智能技术生成

存储引擎(一)

1.Mysql上支持的存储引擎

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

2. 存储引擎的概念

用来处理数据库的相关CRUD操作

每个数据库都有存储引擎,只是MySQL比较强调存储引擎的概念。

3. MySQL存储引擎

  • 官方存储引擎
    • MyISAM
    • InnoDB – 推荐;其他引擎已经体停止维护和开发
    • Memory
    • Federated
    • CSV
    • Archive
  • 第三方存储引擎
    • TokuDB – 开源,适合插入密集型
    • InfoBright – 商业,开源版本有数据量限制。属于列存储,面向OLAP场景
    • Spider

第三方存储引擎在特定场合下比较适合,除此之外,都应该使用InnoDB

3. 存储引擎之MyISAM

  • MySQL5.1版本之前的默认存储引擎
  • 堆表数据结构
  • 表锁设计
  • 支持数据静态压缩
  • 不支持事物
  • 数据容易丢失
  • 索引容易损坏
  • 唯一优点
    • 数据文件可以直接拷贝到另一台服务器使用

现在MySQL中还有用MyISAM的表,主要是历史原因。数据库文件以MY开头的基本都是MyISAM的表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值