InnoDB 存储引擎的特点及优化方法

InnoDB 存储引擎的特点及优化方法目录特性:应用场景:调优精要:特性:1:支持事务(要么全成功、要么全失败);2:行级锁定(更新数据时一般指锁定当前行):通过索引实现、全表扫描忍让时表锁、注意间隙所的影响;3:读写阻塞与事务的隔离级别相关;4:具有非常高的缓存特性(既能缓存索引、也能缓存数据);5:这个表和主键以组(Cluster)的方式存储、组成一颗平衡树;6:所有的辅助索引(secondaryindexes)都…

特性:

1:支持事务(要么全成功、要么全失败);
2:行级锁定(更新数据时一般指锁定当前行):通过索引实现、全表扫描忍让时表锁、注意间隙所的影响;
3:读写阻塞与事务的隔离级别相关;
4:具有非常高的缓存特性(既能缓存索引、也能缓存数据);
5:这个表和主键以组(Cluster)的方式存储、组成一颗平衡树;
6:所有的辅助索引(secondary indexes)都会保存主键信息;
7:支持分区、表空间类似与oracle 数据库;
8:支持外键约束、不支持全文检索(5.5.5之前的MyISAM支持全文检索、5.5.5之后就不在支持);
9:相对MyISAM而言、对硬件的要求比较高

应用场景:

1:需要支持事务的业务;
2:行级锁定对于高并发有很好的适应能力、但是需要保证查询是通过索引完成的;
3:数据读写都很频繁的环境(如:BBS、微博等);
4:对数据一致性要求比较高的业务(如充值、银行转转);
5:硬件设备内存较大、可以很好的利用InnoDB较好的缓存能里来提高内存利用率、减少IO的开销;

调优精要:

1:主键尽可能的小、避免给辅助索引(secondary indexes)带来过大的空间负担;
2:避免全表扫描(会使用表锁);
3:尽可能的缓存所有的索引和数据、提高响应速度、减少磁盘IO消耗;
4:在大批量小插入的时候、尽量自己控制事务、而不使用autocommit自动提交;
5:合理设置Innodb_flush_log_ad_trx_commit 参数值、不要过度追求安全性;
如果值为0、log buffer每秒就会被刷写日志文件进入磁盘、提交事务的时候不做任何操作;
6:避免主键更新(主键更新会带来大量的数据移动);

今天的文章InnoDB 存储引擎的特点及优化方法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27064.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注