MySQL的存取引擎

本文介绍了MySQL服务器端框架,阐述不同搜索引擎在存储、读取和锁三方面的区别。讲解事务特性ACID,介绍MyISAM、InnoDB、Memery、ARCHIVE等存储引擎类型,提及多种锁和索引类型,还对比了varchar与char区别及建立索引的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是MySQL服务器端的框架:

不同搜索引擎的区别主要在于三个方面,分别是存储,读取和锁。

事务是一组特定SQL语句的集合,事务的特性有ACID,即原子性,一致性,隔离性和持久性。

 存储引擎的类型:

1,MyISAM:主要用于在线分析处理,即查询较多。不支持外键,支持表锁,支持全文索引,B+树索引(数据和索引分离也就是非聚簇索引)是通过指针查找文件,不支持事务。常用的几个文件扩展名:.frm:建表信息,.myi:索引文件,.myd:数据

MyISAM中不一定有索引

2,InnoDB:主要用于在线事务处理。支持外键,支持行锁,B+树索引(聚簇索引),支持事务,不支持全文索引。

InnoBD中一定会建立索引,建立索引的原则是首先找主键,没有的话找唯一键,还没有的话就添加隐藏字段建立索引。InnoDB辅助索引查询会查询两次,第一次查询到主索引,然后查询辅助索引。

3,Memery:数据内存临时表(varchar   char),支持hash索引,不支持text,BLOB字段,万一需要用到,则需要加载到内存中去。

4,ARCHIVE不支持索引,适用于日志数据的存储,压缩存储的比例为10比1,只支持select与insert;

锁包括以下几种:共享读锁,独占锁,共享锁,排他锁,意向锁,间隙锁悲观锁,乐观锁等。

索引划分为:普通索引,主键索引,唯一索引,全文索引,组合索引(最左前缀原则)

varchar与char的区别:

varchar(20),不定长,最大能用20,但是开辟的大小依据实际使用的大小来确定;

char(20),固定20字节,无论事实上使用了多少都开辟20字节;

建立索引的SQL语句:create index_name on table (colummn(length))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值