MySQL性能优化与数据备份汇.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL性能优化与数据备份汇

* * * * TCMalloc库 : google-perftools的一员,与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高得多,提高MySQL服务器在高并发情况下的性能,降低系统负载。 查看是否开:lsof -n | grep tcmalloc * 为何避免NULL值: 因为它们使得索引,索引统计和值比较更加复杂。一个为空值的列使用更多的存储空间和更多的处理。对于MyISAM,当一个为空值的列被索引时,它要求每个条目需要一个额外的字节甚至引起一个固定长度的索引(比如一个整数列上的索引)转换为变长度。 即使当你需要存储“没有值”,你也不要设置为NULL。考虑使用0,一个特殊值,或者空串。 Varchar和char区别: Varchar存储变长的字符串是最常见的数据类型,比定长需要更少的存储空间。例外是MyISAM表用ROW_FORMAT=FIXED创建,它对每行使用一个固定长度的空间因此浪费了空间。 Varchar使用1个或者2个额外的字节来记录值的长度:如果列最大长度小于255则用1个字节,如果有更多则用2个字节。假定是latin1字符集,varchar(10)将使用11个字节的存储空间。Varchar(1000)则需要1002字节空间。 Varchar帮助提高了性能因为它节省了空间。实际上,因为行是变长的,它们能在你更新的时候增长,这可能需要额外的工作。如果行增长并且在原先位置没有空间,则它的行为是存储引擎特定的。 当最大列长度比平均长度大得多的时候使用varchar是值得的;如果更新不频繁,因此碎片不是问题。在5.0及以后版本中,MySQL保留结尾空白字符,4.1和更老版本则截掉空白字符。 Char是固定长度:MySQL总是对于指定的字符分配足够的空间。存储char时,MySQL移除任何结尾的空白字符。 如果你要存储很短的字符串,或者几乎所有的值都具有相同的长度,比如char类型适用于md5值,char也适用于需要频繁改变的值,因为固定长度的行不易于出现碎片。对于很短的行,char比varchar更有效。 * 存储引擎存储BTREE索引以多种方式。比如MyISAM使用前缀压缩技术使得索引变小,但是InnoDB没有压缩,因为压缩后不能进行它的优化。MyISAM索引在引用被索引的行时是通过存储行的物理位置来完成的,但是InnoDB通过它们的主键值来引用它们。使用Btree时所有值将是有序存储,页节点到root节点的距离都是一样的。 Btree索引在通过full key value, a key range, or a key prefix下查询工作良好。它们只在查询使用了索引最左边前缀时有效: 完全匹配;匹配最左边前缀;匹配一个列的前缀;匹配值的范围; 精确匹配一部分,范围匹配另一部分; 只需要索引的查询。 Btree索引的一些限制: 如果查询不从最左边开始索引将不再有效;索引中你不能跳过列;存储引擎不能对第一个范围条件右边的列进行优化访问. * 存储引擎存储BTREE索引以多种方式。比如MyISAM使用前缀压缩技术使得索引变小,但是InnoDB没有压缩,因为压缩后不能进行它的优化。MyISAM索引在引用被索引的行时是通过存储行的物理位置来完成的,但是InnoDB通过它们的主键值来引用它们。使用Btree时所有值将是有序存储,页节点到root节点的距离都是一样的。 Btree索引在通过full key value, a key range, or a key prefix下查询工作良好。它们只在查询使用了索引最左边前缀时有效: 完全匹配;匹配最左边前缀;匹配一个列的前缀;匹配值的范围; 精确匹配一部分,范围匹配另一部分; 只需要索引的查询。 Btree索引的一些限制: 如果查询不从最左边开始索引将不再有效;索引中你不能跳过列;存储引擎不能对第一个范围条件右边的列进行优化访问. * * * * Qcache_free_blocks 目前还剩余的blocks。数目大说明可能有碎片。FLUSH QUERY CACHE 会对缓存中的碎片进行整理,从而得到一个空闲块。 Qcache_free_memory 缓存中的空闲内存。 Qcache_hits 每次查询在缓存中命中时就增大。 Qcache_inserts 每次插入一个查询时就增大。命中次数除以插入次

文档评论(0)

liwenhua11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档