mysql存储引擎

来源:互联网 发布:怎样登录wifi网络认证 编辑:程序博客网 时间:2024/06/09 08:46

mysql存储引擎简介

mysql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎
每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能


存储引擎     存储限制    事务安全   支持索引    锁颗粒    数据压缩     支持外键
MyISAM         256TB           —             支持         表锁          支持              —
InnoDB          64TB           支持           支持         行锁           —               支持
Memory           有               —              支持         表锁           —                —
Archive           无                —               —             行锁         支持             —
CSV(逗号分隔的引擎)
BlackHole(黑洞引擎,写入的数据都会消失,一般用来数据复制)


常用:

MyISAM(使用于事务的处理不多的情况)
InnoDB(使用于事务处理比较多,需要有外键支持的情况)

修改存储引擎的方法:

1.通过修改mysql配置文件实现

-default-storage-engine = engine

2.通过创建数据表命令实现

create table tp1(id int)ENGINE = MyISAM;


涉及的锁知识

共享锁(读锁)
:同一时间段内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化
排它锁(写锁)
:在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或写锁操作
锁颗粒
表锁,是一种开销最小的锁策略
行锁,是一种开销最大的锁策略
原创粉丝点击