#数据库之执行引擎
MyISAM
引擎特点:
1.不支持事务
2.只支持表级锁(数据库操作表时需要锁定整张表),锁定成本小,但并发性不高
3.读写相互阻塞,但是读读不阻塞
4.只会缓存索引,不会缓存数据
5.读取速度快(因为功能相对弱小,占用资源少,锁粒度粗)
6.不支持外键约束,但支持全文索引
7.MyISAM是MySQL5.5.5前缺省的存储引擎
适用的生产业务场景
1.不需要事务支持的业务(例如银行转账就不行)
2.一般为读数据比较多的应用,读写都频繁的不适合,读多或者写多的都适合
3.读写并发访问相对较低的业务(纯读纯写高并发也可以)(锁定机制问题)
4.数据修改相对较少的业务(阻塞问题)
5.以读为主的业务,例如:博客,小说网,图片信息数据库,用户数据库,商品库等业务
6.对数据一致性要求不是很高的业务
7.硬件资源比较差的机器可以使用MyISAM
小结:单一对数据库的操作都可以使用MyISAM,所谓单一就是尽量纯读或者纯写等
引擎调优:
1.设置合适的索引(缓存机制)
2.调整读写优先级,根据实际需求确保重要的操作更优先执行
3.启用延迟插入改善大批量写入性能(降低写入频率,尽可能多条数据一次性写入)
4.尽量顺序操作让insert操作都写入尾部,减少阻塞
5.分解时间长的操作,降低单个操作的阻塞时间