请尊重知识,请尊重原创 更多资料参考请见 http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1
Innodb 存储引擎优化
Innodb 作为与MyISAM同为最受欢迎的mysql存储引擎,其与myisam的区别主要表现在 1 缓存机制 2 锁定机制 3 事务支持 4 数据存储
在某些特定环境下性能差异也是非常明显的。
1 innodb缓存优化。
任何一种数据库,缓存技术都是提高数据库性能的关键技术。Innodb的缓存机制和MyISAM的最大区别就是Innodb不仅缓存索引,而且还缓存实际的数据,所以同等前提下,
使用Innodb确实可以缓存更多的数据在内存中,在内存价格不断下降的今天,这无疑让开发者更多的选择Innodb.
innodb_buffer_pool_size参数是用来设置Innodb最主要的Buffer的大小,也就是用来缓存用户表以及索引数据的的最主要缓存空间,对InnoDB影响也最大。
这个参数应该设置多大才合理呢,这个肯定是要根据具体的场景来决定。而且我们还需要来确定一些问题,比如这台主机是不是只提供mysql服务?mysql最大连接数是
多少?是否还有MyISAM等其他存储引擎,如果有的话 其cache被设置为多少?
假设是一台单独给MySQL 使用的主机,物理内存总大小为8G,MySQL 最大连接数为500,同时还使用
了MyISAM 存储引擎,这时候我们的整体内存该如何分配呢?
内存分配为如下几大部分:
a) 系统使用,假设预留800M;
b) 线程独享,约2GB = 500 * (1MB + 1MB + 1MB + 512KB + 512KB),组成大概如下:
sort_buffer_size:1MB
join_buffer_size:1MB
read_buffer_size:1MB
read_rnd_buffer_size:512KB
thread_statck:512KB
c) MyISAM Key Cache,假设大概为1.5GB;
d) Innodb Buffer Pool 最大可用量:8GB - 800MB - 2GB - 1.5GB = 3.7GB;
获取mysql状态值提取缓存命中率
show status like 'Innodb_buffer_pool_read%'
Innodb_buffer_pool_read_request 329
Innodb_buffer_pool_reads 19
可以得出结论 读请求329次 有19次是缓存中没有的需要到磁盘读取,所以命中率为 (329-19)/329 * 100% = 94.22%
Innodb_buffer_pool_pages_data 70
Innodb_buffer_pool_pages_total 2480
总共设置了 2480 pages 提供给缓存,但是存放数据的只有70page 说明Buffer poll设置的过大。
同理 我们也可以根据上面的指标计算出写入的情况。
请尊重知识,请尊重原创 更多资料参考请见 http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1
相关推荐
深入学习《MySQL内核:InnoDB存储引擎 卷1》,读者可以了解到InnoDB的内部工作机制,如如何处理B+树索引、事务的提交与回滚、锁的实现以及内存管理等内容,这对于优化数据库性能、解决并发问题、设计高效的数据模型...
《MySQL技术内幕_InnoDB存储引擎_姜承尧_第2版》是一本深入探讨MySQL数据库中InnoDB存储引擎的专业书籍。作者姜承尧是数据库领域的知名专家,他的这部著作详细阐述了InnoDB引擎的核心概念、设计原理以及实际操作技巧...
"MySQL技术内幕 InnoDB存储引擎" 《MySQL技术内幕:InnoDB存储引擎》是一本深入解析InnoDB存储引擎的经典之作,由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。本书从源代码的角度深度解析了InnoDB的...
通过这三本书的学习,读者可以掌握MySQL的深度知识,包括InnoDB存储引擎的内部机制、高可用性设计以及性能优化技巧。对于数据库管理员、开发人员或希望深入理解MySQL的人士来说,这些资料是不可或缺的参考资源。无论...
MySQL 技术内幕:InnoDB 存储引擎 MySQL 是一款流行的开源关系型数据库管理系统(RDBMS),自 20 世纪 70 年代以来一直作为全球众多企业和开发者的首选数据库之一。MySQL 具有强大的性能、可靠性和易用性,使其在 ...
总结起来,InnoDB存储引擎利用缓冲池来优化数据的读取和写入速度,通过undo日志文件来实现数据的回滚,以及利用Redo Log Buffer来保证数据不因系统崩溃而丢失。同时,这些机制在事务的管理下得以协调工作,确保数据...
根据提供的标题“MySQL 技术内幕:InnoDB存储引擎”,我们可以深入探讨InnoDB存储引擎的相关知识点,包括其架构原理、特点、应用场景以及优化方法等方面。 ### InnoDB存储引擎概述 InnoDB是MySQL中最常用的一种...
### Innodb存储引擎浅析—...通过以上分析可以看出,InnoDB存储引擎不仅提供了强大的事务处理能力,还通过一系列的优化措施,确保了系统的高可用性和数据的可靠性。这对于需要高性能、高可靠性的应用场景而言至关重要。
《高性能mysql(第3版)》是最具代表性的进阶书籍没有之一,它是 MySQL 领域的经典之作,内容涵盖 MySQL 架构和历史,性能分析,优化,复制、备份和恢复,高可用与高可扩展性。值得每一个后端工程师多次阅读,无论是...
MySQL是一种广泛使用的开源关系型数据库管理系统,而InnoDB是MySQL中最主流的存储引擎之一,尤其在...学习这些内容将有助于数据库管理员、开发人员深入理解MySQL的InnoDB存储引擎,从而更好地设计和优化数据库系统。
综上所述,理解并优化MySQL的InnoDB存储引擎参数对于提升数据库性能和管理效率至关重要。在创建和管理表时,选择合适的存储引擎、索引策略以及配置合适的参数,都能显著影响系统的整体表现。在实际应用中,应根据...
InnoDB 存储引擎是一种专门为事务处理、高可靠性和性能优化设计的存储引擎,自 MySQL 5.5 版本起成为 MySQL 的默认存储引擎。它能够为现代数据库应用程序提供强大的数据完整性和高性能事务处理能力,适用于需要高度...
InnoDB存储引擎的设计着重于高并发性能,因此其I/O能力通常远超180 IOPS(输入/输出操作每秒)。这个数字更多地与传统机械硬盘的性能限制有关。现代InnoDB配置可以利用高速SSD硬盘实现更高的I/O性能。 3. **机械...
### MySQL核心Innodb存储引擎浅析—事务系统 #### 存储引擎介绍 在MySQL中,存储引擎是处理表的存储方式的核心组件之一。不同的存储引擎提供了不同的特性,如事务支持、锁定粒度等。其中,MyISAM和InnoDB是最常用...
MySQL数据库系统是企业级应用广泛使用的数据存储解决方案,其中InnoDB存储引擎因其支持事务处理、行级锁定等特性而备受青睐。本主题将深入探讨在InnoDB存储引擎中执行更新语句的过程,并以此为契机,解释什么是...
MySQL数据库的InnoDB存储引擎是关系型数据库管理系统的基石,其强大的事务处理能力和高可用性在很大程度上得益于其内部的Log机制,主要包括Undo Log和Redo Log。这两者是实现事务ACID特性的关键,同时也是优化数据库...