MySQL 存储引擎 详解

存储引擎
<1> 查询系统中支持的存储引擎
mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
注 : <1> Engine属性指存储引擎名称,Support属性指是否支持该类型YES表示支持NO表示不支持DEFAULT表示默认,Comment属性指对该引擎的评论,Transactions属性指是否支持事务处理,XA属性指是否分布式处理XA规范,Savepoints属性指是否支持保存点以便回滚到保存点
       <2> 一般使用默认 InnoDB 就可以

常用的存储引擎
特性
InnoDB
MyISAM
MEMORY
事务安全支持
存储限制64TB
空间使用
内存使用
插入数据的速度
对外键的支持支持

1> MyISAM : MyISAM引擎是MySQL 5.1及之前版本的默认引擎,它的特点是 :
<1> 不支持行锁,读取时对需要读到的所有表加锁,写入时则对表加排它锁
<2> 不支持事务
<3> 不支持外键
<4> 不支持崩溃后的安全恢复
<5> 在表有读取查询的同时,支持往表中插入新纪录
<6> 支持 BLOB 和 TEXT 的前500个字符索引,支持全文索引
<7> 支持延迟更新索引,极大提升写入性能
<8> 对于不会进行修改的表,支持压缩表,极大减少磁盘空间占用

2> InnoDB : InnoDB 在 MySQL 5.5 后成为默认索引,它的特点是 :
<1> 支持行锁,采用 MVCC 来支持高并发
<2> 支持事务
<3> 支持外键
<4> 支持崩溃后的安全恢复
<5> 不支持全文索引
MyISAM 适合 SELECT密集型的表,而 InnoDB 适合 INSERT 和 UPDATE 密集型的表


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值