MySQ的L简介.pptx

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQ的L简介

Mysql 简介与性能优化;MySQL 的引擎: 1、MyISAM Innodb NDB Cluster 4 …… ;Innodb 存储引擎简介 在 MySQL 中使用最为广泛的除了 MyISAM 之外,就非 Innodb 莫属了。Innodb 做为第三方公司所开发的存储引擎,和 MySQL 遵守相同的开源 License 协议。 Innodb 之所以能如此受宠,主要是在于其功能方面的较多特点: ;1、支持事务安装 Innodb 在功能方面最重要的一点就是对事务安全的支持,这无疑是让 Innodb 成为 MySQL最为流行的存储引擎之一的一个非常重要原因。而且实现了 SQL92 标准所定义的所有四个级别(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ 和 SERIALIZABLE)。对事务安全的支持,无疑让很多之前因为特殊业务要求而不得不放弃使用 MySQL 的用户转向支持MySQL,以及之前对数据库选型持观望态度的用户,也大大增加了对 MySQL 好感。 ;2、锁定机制的改进 Innodb 改变了 MyISAM 的锁机制,实现了行锁。虽然 Innodb 的行锁机制的实现是通过索引来完成的,但毕竟在数据库中 99%的 SQL 语句都是要使用索引来做检索数据的。所以,行锁定机制也无疑为 Innodb 在承受高并发压力的环境下增强了不小的竞争力。;影响 MySQL Server 性能的相关因素 1 商业需求对性能的影响 2 系统架构及实现对性能的影响 3 Query 语句对系统性能的影响 4 Schema 设计对系统的性能影响 5 硬件环境对系统性能的影响 ;商业需求对性能的影响 只有精确准确的去理解商业需求,才能设计出高性能的系统。 例: 需求:一个论坛帖子总量的统计 附加条件:实时更新 请大家进行设计: ;商业需求对性能的影响 第一种: select count(1) from table 第二种:建一张只有一个字段的表来记录帖子的总量,当帖子增加时就将此数据加1 第三种:?????【请大家考虑】 考虑真实要面对的问题: 我们分页时要获取总条数时,能否优化! ;系统架构及实现对性能的影响 问题:大家做系统架构的时候,对数据的存储和获取经常是怎么考虑的? ;系统架构及实现对性能的影响 我们数据库中存放的数据都是适合在数据库中存放的吗? 几类数据不适合在数据库中存放的: 1. 二进制多媒体数据 2. 流水队列数据 3. 超大文本数据 ;系统架构及实现对性能的影响 是否合理的利用了应用层 Cache 机制? 什么样的数据适合通过 Cache 技术来提高系统性能: 1. 系统各种配置及规则数据:由于这些配置信息变动的频率非常低,访问概率又很高,所以非常适合存使用 Cache; 2. 活跃用户的基本信息数据:虽然我们经常会听到某某网站的用户量达到成百上千万,但是很少有系统的活跃用户量能够都达到这个数量级。也很少有用户每天没事干去将自己的基本信息改来改去,更为重要的一点是用户的基本信息在应用系统中的访问频率极其频繁。 ;系统架构及实现对性能的影响 3. 准实时的统计信息数据:所谓准实时的统计数据,实际上就是基于时间段的统计数据。这种数据不会实时更新,也很少需要增量更新 4. 其他一些访问频繁但变更较少的数据: ;常见的问题: 1、Cache 系统的不合理利用导致 Cache 命中率低下造成数据库访问量的增加,同时也浪费了 Cache 系统的硬件资源投入; 2、过度依赖面向对象思想 3、对可扩展性的过渡追求,促使系统设计的时候将对象拆得过于离散,造成系统中大量的复杂 Join 语句,而 MySQL Server 在各数据库系统中的主要优势在于处理简单逻辑的查询,这与其锁定的机制也有 较大关系; 4、对数据库的过渡依赖,将大量更适合存放于文件系统中的数据存入了数据库中,造成数据库资源 的浪费,影响到系统的整体性能,如各种日志信息; 5、过度理想化系统的用户体验,使大量非核心业务消耗过多的资源,如大量不需要实时更新的数据 做了实时统计计算。 ;Query语句对系统性能的影响 当 MySQL Server 的连接线程接收到 Client 端发送过来的 SQL 请求之后,会经过一系列的分解Parse,进行相应的分析。然后,MySQL 会通过查询优化器模块(Optimizer)根据该 SQL 所设涉及到的数据表的相关统计信息进行计算分析,然后再得出一个 MySQL 认为

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档