- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL查询优化讲座之管理员的优化措施
MySQL查询优化讲座之管理员的优化措施 前面的部分中讲解的优化措施都是没有特权的MySQL用户能够执行的。可以控制MySQL服务器或计算机的系统管理员能够执行额外的优化措施。例如, 有些服务器参数附属于查询处理过程,并且是可以调整的,而且某些硬件配置因素对查询处理速度有直接的影响。在很多情况下,这些优化措施提高了整个服务器的 性能,因此可以让所有的MySQL用户都受益。 一般来说,当你执行管理员优化的时候,应该紧记以下规则: · 访问内存中的数据快于访问磁盘上的数据。 · 尽量把数据保存在内存中可以减少磁盘操作。 · 保留索引中的信息比保留数据记录的内容更重要。 我们在后面将讨论如何应用这些规则。 增加服务器缓存的大小。服务器拥有很多参数(系统变量),你可以改变这些参数来影响服务器的操作。其中的几个参数直接地影响查询处理的速度。你可以改变 的最重要的参数是数据表缓存的大小和存储引擎用于缓冲索引操作信息的缓存大小。如果你拥有可用的内存,就把它分配给服务器的缓存,以允许信息存储在内存中 并减少磁盘操作。这会有很好的效果,因为访问内存中的信息比从磁盘读取信息的速度快得多。 · 当服务器打开表文件的时候,它试图保持这些文件的打开状态,以减少打开文件操作的数量。为了实现这样的功能,它在表缓存中维护打开文件的信息。 table_cache系统变量控制着这个缓存的大小。如果服务器访问了大量的表,表缓存就会被填满,并且服务器会关闭那些有一段时间没有使用的表,为打 开新表留出空间。你可以通过检查Opened_tables状态指示器来访问表缓存的效果:SHOW STATUS LIKE ’Opened_tables’; Opened_tables显示了某个数据表必须打开的次数(因为它还没有打开)。这个值也显示为mysqladmin状态命令的输出信息中的 Opens值。如果这个数字是稳定的或缓慢增长,那么它的设置可能是正确的。如果这个数字增长得很快,就意味着这个缓存太小了,必须经常关闭数据表来为打 开其它的数据表留出空间。如果你拥有文件描述信息,增加表缓存大小将减少数据表打开操作的数量。 · MyISAM存储引擎使用键缓冲来保持与索引相关的操作的索引信息块。它的大小是由key_buffer_size系统变量控制的。这个值越 大,MySQL就一次性在内存中保持更多的索引信息块,可以增加在内存中(而不用从磁盘上读取新的信息块)找到键值的可能性。键缓存的默认大小是8MB。 如果你拥有很多的内存,这是一个很保守的值,你可以直接增加它的大小,并且会看到基于索引的检索、索引的建立和修改操作的性能有很大改善。 在MySQL 4.1以上版本中,你可以为MyISAM数据表建立附加的键缓存,并指定某些表使用它们。这样可以帮助提高这些数据表上的查询处理速度。 · InnoDB和BDB引擎拥有自己的用于缓冲数据和索引值的缓存。它们的大小是由innodb_buffer_pool_size和 bdb_cache_size变量控制的。InnoDB引擎还维护了一个日志缓冲。innodb_log_buffer_size变量可以控制它的大小。 · 另一个专用的缓存是查询缓存,我们在使用查询缓存部分中解释。 当你改变这些参数值的时候,应该遵循下面一些原则: · 每次只改变一个参数。如果你一次改变多个相互独立的变量,那么就很难评估每种改变的效果了。 · 逐渐地增加系统变量值。根据理论,数量越多,性能越好,但是如果你使某个变量变得太大了,有可能造成系统资源匮乏,导致逆向效果,降低速度。 · 不要在运行业务MySQL数据库的服务器上做调整参数的实验,最好建立一个独立的测试服务器。 · 为了大致了解哪种参数变量可能适合自己的系统,你可以查看MySQL发布文档中包含的my-small.cnf、my-medium.cnf、my- large.cnf和my-huge.cnf选项文件(在Unix系统上,你可以在源发布文件的支持文件目录和二进制发布文件的共享目录总找到这些文件。 在Windows上,它们位于基本的安装目录中,其扩展名可能是.ini)。这些文件可能让你知道最好改变服务器上的那些参数以适应不同的使用层次,并且 为这些参数提供了一些典型值。 用于提高服务器的操作性能的其它一些策略还包括: 禁止不需要的存储引擎。服务器不会为禁止的引擎分配任何内存,因此我们可以利用这一点。如果从源文件建立MySQL,那么在配置的时候,大多数存储引擎就可以被排除在服务器之外。对于那些包含在服务器中的引擎来说,使用适当的启动选项可以在运行时禁止其中的大多数。保 持授权表许可的简单性。尽
您可能关注的文档
最近下载
- 普通高中音乐课程标准(2017年版2020年修订).docx
- T_JSFPSA -001-2022_全麦面包_标准.pdf VIP
- GB50702-2011砌体结构加固设计规范.docx VIP
- 《特高压电力管廊盾构隧道结构施工及运营期验收评估标准》.pdf VIP
- 15、推理综合 举一反三 2024—2025学年度 小学二年级奥数 教学课件PPT.pptx VIP
- 项目式学习在小学英语教学中的实践教学研究课题报告.docx
- matlab课件(西工大-孙蓬).pptx
- 香港上市(IPO)全流程介绍(最完整版).pdf VIP
- GBT50319-2013建设工程监理规范表格-全部[整理].doc VIP
- 09S302雨水斗选用及安装图集(清晰).pdf VIP
文档评论(0)