mysql常用搜索引擎

mysql常用搜索引擎

innoDB简介

innoDB引擎,它是一个事务型的引擎,它设计为了处理大量数据提供高性能的服务。它支持事物处理、实现sql标准的四种隔离级、支持行级锁但行级锁并不是决对的、外键以及利用事物日志进行数据的恢复,不支持FULLTEXT类型的索引,清空表时不会新建表而是一行一行删除。适合需要事物,大量数据读写的项目。

MyISAM简介

MyISAM引擎是mysql的默认引擎,它可以高性能的读取。表级别锁,记录了全表的行数,当使用count时不会进行全表扫描,不支持事物,对表进行insert和update时会对表进行锁定,发生故障无法恢复。适合不需要事物,读取频繁,插入少的项目。

引擎对比

对比innoDBMyISAM
主外键OX
事物OX
行级,操作时指锁定一行,适合高并发表级,操作时会锁住整张表
缓存既缓存索引又缓存数据,对内存要求高,内存影响性能只缓存索引不缓存数据
表空间
关注点事物性能

innoDB死锁

innoDB是行级别锁,但mysql行级锁不是锁主整行,而是锁主索引,索引又分为主键索引和非主键索引,当操作了主键,则锁住主键,当操作了非主键索引,则会先锁住这个非主键索引再去锁住主键。这样就造成了会出现死锁的现象。

查询时MyISAM为什么比innoDB快

innoDB既要缓存索引又要缓存数据,而MyISAM只缓存索引。
innoDB寻址是先映射到块再映射到行,而MyISAM直接映射到文件的偏移量。
innoDB要维护多版本并发控制。
总而言之innoDB需要维护的东西比MyISAM多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值