位置:首页  >   数据库  > mysql常用存储引擎以及简单介绍

mysql常用存储引擎以及简单介绍

1.MyISAM
    特性
        并发性与锁级别
        表损坏修复
        check table tablename
        repair table tablename     
        MyISAM表支持的索引类型
        MyISAM表支持数据压缩
        命令行:myisampack //压缩就只能进行读操作
    使用场景
        非事务型应用
        只读类应用(支持压缩)
        空间类应用
2.Innodb
    特性
        事务型存储引擎
        完全支持事务的ACID特性
        Redo Log 和 Undo Log
        支持行级锁
            行级锁可最大程度的支持并发
            行级锁是有存储引擎层实现的
3.csv
    特点
        以CSV格式进行数据存储
        所有列必须都是不能为null的
        不支持索引
        可以对数据文件直接编辑
    文件系统存储特点
        数据以文本方法存储在文件中
        .csv文件存储表内容
        .csm文件存储表的元数据如表状态和数据量
        .frm文件存储表结构信息
    适用场景
        适合做为数据交换的中间表  电子表格-》CSV文件 -》mysql数据目录
4.Archive 
    文件系统存储特点
        以ZLIB对表数据进行压缩,磁盘I/O更少
        数据存储在ARZ为后缀的文件中
    特点
        只支持select 和insert操作
        只支持在自增id上建立索引
    使用场景
        日志和数据采集类应用
5.Memory
    文件系统存储特点
        也称HEAP存储引擎,所以数据保存在内存中,只有.frm文件
    功能特点
        支持hash索引(等值查找)和Btree索引(范围查找)
        所有字段都为固定长度 varchar(10) = char(10)
        不支持BLOG和TEXT等大字段
        使用表级锁
        最大大小是由max_heap_table_size参数决定
        create index idx_c1 on mymemory(c1);
        create index idx_c2 using  btree on mymemory(c2);
    使用场景
        用于查找或者是映射表,例如邮编和地区的对应表
        用于保存数据分析中产生的中间表
        用户缓存周期性聚合数据的结果表
6.Federated
    特点
        提供了访问远程Mysql服务器上表的方法
        本地不存储数据,数据全部放到远程服务器上
        本地需要保存表结构和远程服务器的连接信息
    如何使用
        默认禁止,启用需要在启动时增加federated参数
        mysql://user_name[:password]@host_name[:port_num]/db_name/tbl_name
    使用场景
        偶尔的统计分析与手工查询

文章属性
精彩评论