MySQL 存储引擎

MySQL 存储引擎

MySQL 支持的存储引擎

存储引擎描述
ARCHIVE用于数据存档(记录插入后不能再修改)
BLACKHOLE丢弃写操作,读操作会返回内容
CSV在存储数据时,以逗号分隔各个数据项
FEDERATED用来访问远程表
InnoDB支持十五、行级锁、外键
MEMORY数据只存储在内存,不存储在磁盘;多用于临时表
MERGRE用来管理多个MyISAM表构成的表集合
MyISAM主要的非事务处理存储引擎
NDBMySQL集群专用存储引擎

存储引擎对于功能的支持情况

功能MyISAMMEMORYInnDBACHIVENDB
B-tree indexes(B+树索引)
Backup/point-in-time recovery(备份/时间点(增量)恢复)
Cluster database support(数据库集群)
Clustered indexes(聚集索引)
Compressed data是 (note 2)
Data caches是/否
Encrypted data(数据加密)是(note3)是(note3)是(note3)是(note3)是(note3)
Forrgin key support
Full -text search indexes(全文检索)
Geospatial data type support(地理空间数据类型支持)
Geospatial indexing support(地理空间索引支持)
Hash indexes(哈希索引)否(note8)
Index caches(索引缓存)是/否
Locking granualarity(锁级别)
MVCC(基于多版本的并发控制协议)
Replication support (note 1)(复制支持)有限
Storage limits(存储限制)256TBRAM64TBNone384EB
T-tree indexes(T树索引)
Transactions(事物)
Update statistics for data dictionary(更新数据字典的统计信息)

Notes:
1.在服务器而不是存储引擎中实现。
2.仅在使用压缩行格式时才支持压缩 MyISAMtable。在 MyISAM 中使用压缩行格式的 table 是只读的。
3.通过加密功能在服务器中实现。
4.在 MySQL 5.7 和更高版本中,支持静态数据 table 空间加密。
5.MySQL Cluster NDB 7.3 和更高版本提供了对外键的支持。
6.MySQL 5.6 和更高版本提供了对 FULLTEXT 索引的 InnoDB 支持。
7.MySQL 5.7 和更高版本提供了 InnoDB 对地理空间索引的支持。
8.InnoDB 在内部将哈希索引用于其自适应哈希索引功能。
9.1EB(艾节字)=1024PB。1PB(拍字节)=1024TB。1TB(太字节)=1024GB。1GB=1024MB

关于存储引擎的操作

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

XA:存储引擎是否支持分布式事物;Savepoints:存储引擎是否支持事物的部分回滚

设置表的存储引擎

  1. 创建表时指定存储引擎
    CREATE TABLE 表名(
    	建表语句;
    ) ENGINE = 存储引擎名称;
    ## 建立一个MyISAM的表
    CREATE TABLE engine_demo_table(
    	i int
    ) ENGINE = MyISAM;
    
  2. 修改表的存储引擎
    #ALTER TABLE 表名 ENGINE = 存储引擎名称;
    ALTER TABLE engine_demo_table ENGINE = InnoDB#查看engine_demo_table表
    SHOW CREATE TABLE engine_demo_table;
    CREATE TABLE engine_demo_table (i int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值