Mysql 性能优化3 如何选择存储引擎
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mysql 性能优化3 如何选择存储引擎,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2035字,纯文字阅读大概需要3分钟。
内容图文
frm 是记录结构的, MYD和 MYI 是MyISAM 特有的
例
表级锁,对数据进行修改时需要全表加锁。读取时也是需要家共享锁。对读写操作并发性不是很好,但是只读的话不怎么影响,共享锁不阻塞共享锁
支持全文索引。
支持text,blob,前500个字符的前缀索引。
如果是只读表的话,就是没有修改操作的表, 可以压缩操作。压缩后的表不能进行插入。
什么时候MyISAM
Innodb 存储引擎
支持小事务
frm 是记录表结构的 idb 是存储数据的 。 如果是OFF ibdata1
frm 文件 。 数据字典 表,列,索引的相关信息
ACID特性 原子性,一致性,隔离性,持久性
实现以上特性。 从做日志 Redo log主要实现持久性, 回滚日志 Undo log
锁的粒度 : 表级锁, 行级锁。
行级锁 :写操作时,锁定资源更少,支持并发更多。
阻塞:一个在等另一个资源的释放,就是阻塞。阻塞是为了并发并正常运行。大量阻塞就会出现问题,性能整体下降。
死锁:两个或两个以上的相互占用了互相等待的资源,产生异常。数据库会自动发现死锁。
CSV 存储引擎
以文件方式存储的,可以查看文件命令直接查看。
CSV适用场景
Archive 存储引擎
Memory 存储引擎
IO效率高,数据存在内存中,重启mysql 数据会消失,但是结构会保留。
合适的索引类型对性能影响很重要。
Federated 引擎
如何选择正确的存储引擎
是否需要事务支持 : Innodb 是目前来说最稳定并且经过验证的存储引擎
如果不需要事务,并且主要是INSERT 和 SELECT 操作 也可以使用MyISAM
如果只有insert ,select 少的话可以选用Archive(例如日志)
备份的考虑:生产环境中,可以在线热备的存储引擎,只有Innodb 有免费的热备方案。
mysqldump备份属于逻辑备份,保证数据的一致性所以需要加锁。
崩溃恢复 : myisam 损坏率更高,恢复速度慢
考虑存储特有特性。
除非万不得已,不要使用多种存储引擎。
例如 Innodb 和 Myisam 的混合使用,事务回滚的时候 Innodb回滚,myisam并没有回滚,数据上会有问题。
如果进行热备,Innodb有热备,myisam没有。也会出问题。
Mysql 性能优化3 如何选择存储引擎
标签:myisam isa 记录 性能优化 另一个 恢复 数据字典 损坏 回滚
本文系统来源:http://www.cnblogs.com/zhaoyang-1989/p/6868655.html
内容总结
以上是互联网集市为您收集整理的Mysql 性能优化3 如何选择存储引擎全部内容,希望文章能够帮你解决Mysql 性能优化3 如何选择存储引擎所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。