和其他数据库系统比较,MySQL有点分歧凡响,它的架构可以在多种不同场景中运用并发挥好的浸染,但同时也会带来-点选择上的困难。MySQL并不完美,却足够灵巧,能够适应高哀求的环境,例如Web类运用。同时,MySQL既可以嵌入到运用程序中,也可以支持数据仓库、内容索引和支配软件、高可用的冗余系统、在线事务处理系统(OLTP)等各种运用类型。
转发+关注后留神私信回答【架构书本】即可免费领取史上最全MySQL实战文档
在我们的技能咨询生涯中,最常碰到的三个性能干系的做事要求是:如何确认做事器是否达到了性能最佳的状态、找出某条语句为什么实行不足快,以及诊断被用户描述成“停顿"、“堆积"或者“卡去世"的某些间歇性疑难故障。本章将紧张针对这三个问题做出解答。我们将供应- - 些工具和技巧来优化整机的性能、优化单条语句的实行速率,以及诊断或者办理那些很难不雅观察到的问题(这些问题用户每每很难知道其根源,有时候乃至都很难察觉到它的存在)。

前面是先容了如何设计最优的库表构造、如何建立最好的索引,这些对付高性能来说是必不可少的。但这些还不足一还需 要合理的设计查询。如果查询写得很糟糕,纵然库表构造再合理、索引再得当,也无法实现高性能。
MySQL高等特性MySQL从5.0和5.1版本开始引入了很多高等特性,例如分区、触发器等,这对有其他关系型数据库利用背景的用户来说可能并不陌生。这些新特性吸引了很多用户开始利用MySQL。不过,这些特性的性能到底如何,还须要用户真正利用过才能知道。这里我们将为大家先容,在真实的天下中,这些特性表现如何,而不是只大略地先容参考手册或者宜传材料.上的数据。
转发+关注后留神私信回答【架构书本】即可免费领取史上最全MySQL实战文档
优化做事器设置这里我们将阐明为MySQL做事器创建一个靠谱的配置文件的过程。这是一个很绕的过程,有很多故意思的关注点和值得关注的思路。关注这些点很有必要,由于创建个好配置的最快方法不是从学习配置项开始,也不是从问哪个配置项该当怎么设置或者怎么修正开始,更不是从检讨做事器行为和讯问哪个配置项可以提升性能开始。
最好是从理解MySQL内核和行为开始。然后可以利用这些知识来辅导配置MySQL.末了,可以将想要的配置和当前配置进行比较,然后纠正主要并且有代价的不同之处。
转发+关注后留神私信回答【架构书本】即可免费领取史上最全MySQL实战文档
复制MySQL内建的复制功能是构建基于MySQL的大规模、高性能运用的根本,这类运用利用所谓的“水平扩展”的架构。我们可以通过为做事器配置一个或多个备库生1的办法来进行数据同步。复制功能不仅有利于构建高性能的运用,同时也是高可用性、可扩展性、灾害规复、备份以及数据仓库等事情的根本。事实上,可扩展性和高可用性常日是干系联的话题,我们会在接下来的三章详细阐述。
转发+关注后留神私信回答【架构书本】即可免费领取史上最全MySQL实战文档
可扩展的MySQL在此将展示如何构建-一个 基于MySQL的运用,并且当规模变得越来越弘大时,还能担保快速、高效并且经济。有些运用仅仅适用于--台或少数几台做事器,那么哪些可扩展性建议是和这些运用干系的呢?大多数人从不会掩护超大规模的系统,井且常日也无法效仿在主流大公司所利用的策略。本章会涵盖这- - 系列的策略。我们已经建立或者帮忙建立了许多运用,包括从单台或少量做事器的运用到利用上千台做事器的运用。选择一个得当的策略能够大大地节约韶光和金钱。MySQL常常被批评很难进行扩展,有些情形下这种意见是精确的,但如果选择精确的架构并很好地实现,就能够非常好地扩展MySQL.但是扩展性并不是-一个很好理解的主题,以是我们先来理清- -些随意马虎稠浊的地方。
转发+关注后留神私信回答【架构书本】即可免费领取史上最全MySQL实战文档
云真个MySQL运用层优化
如果在提高MySQL的性能上花费太多韶光,随意马虎使视野局限于MySQL本身,而忽略了用户体验。回过分来看,也容许以意识到,或许MySQL已经足够优化,对付用户看到的相应韶光而言,其所占的比重已经非常之小,此时该当关注下其他部分了。这是个很不错的不雅观点,尤其是对DBA而言,这是很值得去做的精确的事。但如果不是MySQL,那又是什么导致了问题呢?利用第3章提到的技能,通过丈量可以快速而准确地给出答案。如果能顺着运用的逻辑过程从头到尾来阐发,那么找到问题的源头一样平常来说并不困难。有时,只管问题在MySQL.上,也很随意马虎在系统的另一部分得到办理。
备份和规复
如果没有提前做好备份方案,大概往后会创造已经错失落了- -些最佳的选择。例如,在做事器已经配置好往后,才想起该当利用LVM,以便可以获取文件系统的快照一但这时已经太迟了。在为备份配置系统参数时,可能没有把稳到某些系统配置对性能有着重要影响。如果没有操持做定期的规复演习训练,当真的须要规复时,就会创造并没有那么顺利。
MySQL用户工具
MySQL做事器发行包中并没有包含针对许多常用任务的工具,例如监控做事器或比较不同做事器间数据的工具。幸运的是,Oracle 的商业版供应了- -些扩展工具,并且MySQL生动的开源社区和第三方公司也供应了- -系列的工具,降落了自己“重复发明轮子”的须要。
总目录转发+关注后留神私信回答【架构书本】即可免费领取史上最全MySQL实战文档