mysql引擎简介
本文使用的mysql版本为5.7.20版本,不同版本对应的功能不同
存储引擎:Mysql中各种数据使用不同的技术存储在文件/内存中,每种技术都使用了不同的存储机制和索引技巧,最终实现了不同的功能和能力。通过不同的技术能够获得额外的速度和功能。
查看殷勤相关信息:
mysql> show engines;
| 引擎名称 | 简介 | mysql是否支持 | 支持事务 | 支持分布式事务 | 保存点 | 
|---|---|---|---|---|---|
| InnoDB | 支持事务,行级锁定和外键 | 默认使用 | ✅ | ✅ | ✅ | 
| MGR_MYISAM | ISAM表的集合 | ✅ | ✅ | ✅ | ✅ | 
| MEMORY | 基于哈希表,存储于内存,用于临时表 | ✅ | ❌ | ❌ | ❌ | 
| BLACKHOLE | 黑洞引擎,写入都会消失 | ✅ | ❌ | ❌ | ❌ | 
| MYISAM | 索引顺序引用方法 | ✅ | ❌ | ❌ | ❌ | 
| CSV | csv存储模式 | ✅ | ❌ | ❌ | ❌ | 
| ARCHIVE | 归档存储引擎 | ✅ | ❌ | ❌ | ❌ | 
| PERFORMANCE_SCHEMA | 性能模式 | ✅ | ❌ | ❌ | ❌ | 
使用存储引擎:
方法1:
create table_name(
column1 type ….
...
)engine=InnoDB
方法2:
alter table table_name egnine = InnoDB
| 存储引擎 | 优势 | 劣势 | 适用场景 | 
|---|---|---|---|
| InnoDb | 处理大数据量时性能高,支持事务,回滚。 | 比ISAM读取速率慢 | 1. 按前要求较高,或要求事务。2. 更新查询频繁,表锁定机会较大。 | 
| MyISAM | 快速读取 | 不支持事务 | 适用于多count计算,插入不频繁,查询很频繁,不需要事务操作的场景 | 
| 静态MyISAM | 每个表空间相同,便于存储更新,便于数据恢复 | ||
| 动态MyISAM | 若表中有varchar时占用空间较小 | ||
| 压缩MyISAM | 进一步减少占用空间 | 压缩后不能被修改 | |
| ISAM | 快速读取,不占用大量内存和存储资源 | 不支持事务、索引和外键。如把关键业务存于ISAM,定期备份 | |
| HEAP(MEMORY) | 极高的 插入/更新/查询效率,默认使用哈希索引 | 保留数据不稳定,只驻留在内存中 | 临时表格 | 
| ARCHIVE | 有效提高插入速度 | 不支持索引,只支持insert和select | 存储大量独立的、作为历史记录的数据,如日志和聚合分析。 | 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号