当前位置:首页 > 日记 > 正文

MyISAM和InnoDB引擎优化分析

MyISAM和InnoDB引擎优化分析
学习mysql数据库的优化和在自己的服务器上设置的天宇的把戏,它主要研究Yu MyISAM和InnoDB两引擎的优化方法,它们各有优缺点,使用效果将在两种发动机一般应用更好的结合。隐喻的测试的硬件配置和软件环境是如下:

服务器型号:IBM S226
CPU:四核至强
内存:4g
硬盘:两80g为RAID1
系统:Windows Server 2003 SP1 32位企业版
MySQL版本:5.5
根据自己服务器的实际情况,优化和参数如下:

1。公共选择
跳过外部锁,避免外部锁,减少错误概率,提高稳定性。
跳过名称解析/ MySQL外部连接来禁止DNS解析,使用此选项可以消除MySQL DNS解析时间。但重要的是要注意,如果您打开此选项,您必须为所有远程主机使用IP地址模式,否则MySQL将无法处理连接请求。
max_connections = 1024 / / MySQL指定允许的最大连接数的过程。如果有太多的连接错误提示经常出现访问论坛的时候,你需要增加参数值。
query_cache_size = 16m / / 0默认情况下不启用。指定MySQL查询缓冲区的大小。下面的命令可以通过执行以下MySQL控制台命令观察:
显示变量''%1 query_cache % > #;
显示状态like'qcache % > #;
#如果qcache_lowmem_prunes价值是非常大的,在不足的情况经常出现缓冲区;
如果qcache_hits价值是非常大的,它表明查询缓冲是非常频繁的。如果值很小,它会影响效率,所以我们可以考虑没有查询缓冲区。如果qcache_free_blocks非常大,这表明有缓冲区中的许多片段。
每个线程的sort_buffer_size = 6m /排序缓冲区大小的排序选项组中扮演了一个角色。注:分配的内存这个参数是每个连接专用!如果有100个连接,总排序缓冲区大小的实际配置是100 * 6 = 600mb。所以,一个记忆在4gb服务器,建议设置为6m。
record_buffer = 16m / /每一个顺序扫描线作为缓冲扫描每个表的大小分布,可以设置为大于2m
所有线程的table_cache = 512 / /打开的表的数量,增加这个值可以增加文件描述符需要由mysqld数。MySQL需要2个文件描述符为每只打开表。

二、MyISAM的选择
key_buffer_size = 256m / / key_buffer_size指定用于索引缓冲区的大小,将它添加到指标较好的加工性能。对于一个记忆在4gb服务器,该参数可以设置为256M或384m。
注意:参数值过大会降低服务器整体效率!
read_buffer_size = 4m / /读查询可以使用的缓冲区的大小。如sort_buffer_size,分配的内存这个参数也是每个连接专用!
myisam_sort_buffer_size = 64m /除以1600万默认的缓冲区,用于设置,恢复大小,和修改表不宜设置太多。
join_buffer_size = 8m /联合查询可以使用的缓冲区的大小,和sort_buffer_size,对应于每个连接的内存分配参数是独家的!

三、InnoDB选项
innodb_buffer_pool_size =的1G / InnoDB中的重要参数,MyISAM和key_buffer_size参数有相似之处,但也有区别。这个参数主要缓存InnoDB表的索引时,缓冲区的数据插入数据。设置越大,访问表中的数据所需的磁盘I/O量就越少。它通常是一半的内存,不超过2G,否则系统将崩溃。优化InnoDB加速度的主要参数,该参数对内存分配原则:此参数指定默认只有8M,可以说是一个很小的值,如果它是一个专用的数据库服务器,然后他可以占70% - 80%的内存。此参数不能动态改变的,所以配置需要考虑的。大的分配将使交换的太多,所以MySQL的查询是非常慢的。如果你的数据是比较小的,所以你的数据大小分布有关10%这个参数的值。

例如,数据的大小是50M,然后innodb_buffer_pool_size = 64M其实分配到这个值
innodb_additional_mem_pool_size = 16m / / InnoDB内部目录用于存储此值没有分配过大,系统可以自动调整。你不需要设定得太高了。一般来说,更大的数据集16M足够,如果表较多,可以适当增加,如果这个值自动增加,它将在错误日志显示。

innodb_log_file_size = 256m / /每个日志文件组中的日志中的大小一般是innodb_buffer_pool_size 25%,innodb_buffer_pool_size 40-50%的建议。在几个日志文件一般控制增加在2G的大小比较好。特别是,你需要看你的交易规模,数据的大小。描述:这种价值分配的大小是写入数据库的速度密切相关,该交易的规模,和恢复后的异常重启。

指定的innodb_log_files_in_group = 2 / /你有几个日志组。我们可以利用分配的一般原则:在值组。默认是两。

innodb_log_buffer_size = 3m /交易在内存缓冲区。分配原则:控制在2~8的价值。是不是太多了。他的记忆通常是写在第二盘。具体的写作风格是你的事务提交相关。在Oracle和其他数据库的理解,它是适当的3M指定最大的。

innodb_flush_logs_at_trx_commit = 0 / /控制事务提交的分配原则:这个参数只有3个值,0, 1, 2请确认自己可以接受的水平。默认值为1。请不要改变主图书馆。高性能可以设置为0或2,但一次交易损失。说明:这个参数的设置对InnoDB的性能有很大的影响,所以给出更多的解释,此值为1时:InnoDB的事务日志写入日价值的文件后,每个提交并刷新日值到磁盘。这可以在不丢失任何的交易。当该值为2,在每一个提交,日志缓冲区写入文件,而不是刷新磁盘操作的日志文件,并刷新2日志文件也发生每一秒。然而,值得注意的是,由于工艺要求的问题,它并不能保证100%的发生二。它是性能最快。但交易的最后一秒将如果操作系统崩溃或断电删除。此值为0时,日志缓冲区写入日志文件,每秒一次,和磁盘操作刷新,但没有行动,在一个事务提交的。mysqld崩溃过程消除了交易前的最后一秒钟崩溃。

从上面的分析中,当这个值不是1时,它可以达到更好的性能,但是如果遇到的话会有损失,所以需要根据自己的情况来衡量。

相关文章

如何在MySQL打开严格的模式

如何在MySQL打开严格的模式

模式,如何在,电脑软件,MySQL,很多PHP集成环境(PHPnow WAMP Appserv)与MySQL看起来无严格的模式,MySQL的严格的模式是什么,MySQL本身仅仅是对数据的严格检查(格式、长度、类型等),如整数的话我们写在严格的模式字符串数据类型,MySQL是不是一个错误,因…

mysql数据库备份与恢复的通用命令

mysql数据库备份与恢复的通用命令

数据库,备份与恢复,命令,通用,摘要,备份MySQL数据库的命令 就hhostname - uusername -文件backupfile.sql语句> 备份MySQL数据库是一个带有删除表的备份表单。MySQL数据库是一种带有删除表的格式,它允许备份覆盖现有数据库而不手动删除原…

如何打开多个工作簿在Excel中的同

如何打开多个工作簿在Excel中的同

多个,工作,电脑软件,Excel,有时一个繁忙的工作簿可以打开多个工作簿一起工作,那么你如何打开多个工作簿,在一个时间我们以前提到过,同时打开多个word文档,下面的单词联盟推荐五种方法帮助您提高工作效率。 一个方法,打开工作簿(* .xls)文件夹,按住S…

excel可以直接将文件传输到PDF格式

excel可以直接将文件传输到PDF格式

文件传输,可以直接,格式,电脑软件,excel,关键提示:excel文件可以直接传输到PDF格式文件吗如果你能转移,需要什么软件良好的手,please.adobeacrobat7.0professional可以安装安装,当安装好,会有一个用AdobePDF… 我可以要求Excel文件直接将文件传…

wmencagt.exe的过程是怎样的

wmencagt.exe的过程是怎样的

的是,过程,是怎样,电脑软件,wmencagt,评论:对wmencagt.exe工艺简介 进程文件:wmencagt或wmencagt.exe 过程名称:Windows媒体编码器代理 过程类别:安全风险的过程 英文描述: wmencagt.exe过程允许用户访问Windows Media编码器,Windows,它也被称为…

的作用的nail.exe钉过程是什么

的作用的nail.exe钉过程是什么

作用,过程,电脑软件,exe,nail,点评:Nail.exe是一个恶意篡改程序,会篡改你的Internet Explorer设置和其合作伙伴的网站在桌面上创建链接 进程文件:钉或nail.exe 进程名称:木马。Win32。stervis。B 过程类别:安全风险的过程 英文描述: nail.exe是…

什么过程isstart过程查询isstart.e

什么过程isstart过程查询isstart.e

查询,过程,电脑软件,isstart,exe,点评:isstart.exe是罗技罗技快看摄像头的驱动程序,它是用来支持图像和视频输出。 进程文件:isstart或isstart.exe 过程名称:罗技图像工作室 过程类别:安全风险的过程 英文描述: isstart.exe是一个过程,安装在罗…

支持的Oracle数据库表名称的最大长

支持的Oracle数据库表名称的最大长

数据库表,支持,长度,名称,电脑软件,本文介绍了表的名称可以使用Oracle数据库中的最大长度,这个长度也是Oracle标识符的最大长度是30个字符。 当今天建立Oracle数据库表时,建议以下表的名称大于最大值: 复制代码代码如下所示: 错误报告: SQL…

的过程,是一个leerlaufprozess查询l

的过程,是一个leerlaufprozess查询l

查询,是一个,过程,电脑软件,leerlaufprozess,回顾:系统空闲进程不是一个进程,它用于监控CPU剩余的资源条件。进程不能被删除。 进程文件:leerlaufprozess或leerlaufprozess 过程名称:系统空闲进程 过程类别:安全风险的过程 英文描述: 的leerlau…

Excel2007冻结窗口表,如何固定窗

Excel2007冻结窗口表,如何固定窗

冻结,窗口,电脑软件,我们经常看到在Excel工作表的规模比较大,有比较数据的不同部分更难,那么我们可以使用工作表窗口功能冻结固定窗,几行或几列数据被冻结,所以如果滚动窗口的线或数据列将是固定的,而不是与其他手机和手机电池。一般来说,冻结工…

切换效果设置PowerPoint2007的技术

切换效果设置PowerPoint2007的技术

设置,效果,技术,电脑软件,当你展示一个PPT幻灯片,如果你可以添加一些切换效果更生动。事实上,在PowerPoint2007中本身有许多种图片切换效果,可为每个图片设置不同的效果,这样我们就可以在演示播放动画。以下文字联盟详细介绍如何在PPT设置一个…

Win8或Win8.1网页和应用程序存储密

Win8或Win8.1网页和应用程序存储密

网页,应用程序,检索,密码,方法,复习:要检索网页和应用程序的存储密码,不是难事,下面是一个很好的教程,可以参考下。 第一步,为本地帐户设置密码保护(设置密码的读取器,可以直接查看第二步教程) 1。设置本地帐户的密码保护,打开控制面板,找到用户帐户…