mysql存储引擎
MyISAM
使用场景
非事务类型
只读类应用
空间类应用
Innodb
Innodb使用表空间来存储数据
innodb_file_per_table
on表示对立表空间 独立表空间可以通过optimize table来收缩系统文件
off表示系统表空间 无法简单收缩文件大小
支持行级锁,行级锁可以最大限度支持并发,行级锁由存储引擎实现。锁主要是管理对共享资源的并发访问,锁用于实现事务的隔离性。
存储引擎CSV
数据以文本文件存储,.CSV存储数据库数据,CSM存储表的元数据如表的状态和数据量,.frm存储表结构信息。
以csv格式存储,所有列不能为null,不支持索引,不适合大表,不适合在线处理
存储引擎Archive
只支持insert和select操作
只允许在自增ID上加索引
存储引擎memory
支持hash索引和btree索引,所有字段固定为varchar(10)=char(10),使用表级锁,最大大小由max_heap_table_size参数决定
与临时表对比系统临时表超过了大小限制使用MYISAM,未超过使用Memory,创建的临时表
使用场景:查找或者映射表,例如邮编和地区映射表,用于产生数据分析中间产生的中间表,用于缓存周期性聚合的数据的结果表
存储引擎Federated
提供访问远程服务器上mysql的方法,本地不存储数据数据存储在远程服务器,本地要保存表结构和远程服务器连接信息