拥有大厂梦,却因为MySQL败下阵来,那你一定要看这本经典之作
来源:SegmentFault
时间:2023-01-14 21:43:17 494浏览 收藏
怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《拥有大厂梦,却因为MySQL败下阵来,那你一定要看这本经典之作》,涉及到MySQL、Java、面试、数据库、编程,有需要的可以收藏一下
写在前面
在互联网行业,MySql数据库毫无疑问已经是最常用的数据库。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择MySql作为网站数据库。
作为一名编程人员,对MySql一定不会陌生,尤其是互联网行业,对MySql的使用是比较多的。对于求职者来说,MySql又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。
要学习Mysql,那就必须给大家安利一波《高性能MySql(第3版)》这本MySql领域的经典之作了。(全书共795页)
◎“只要你不敢以MySQL专家自诩,又岂敢错过这本神书?”◎“一言以蔽之,写得好,编排得好,需要参考时容易到爆!”
◎“我可是从头到尾看了一遍上一版,可还是毫不犹豫拿起了这本《高性能MySQL(第3版)》,而且看完后一点都不后悔……”
◎ 学习MySQL新特性,包括存储引擎、分区数据库、触发器和视图
◎ 实现复制的改进、高可用和集群
◎ 获得在云端运行MySQL的高性能
◎ 优化高级查询特性,如全文索引
◎ 从现代的多核CPU和固态硬盘中获益
◎ 探索备份和恢复的策略,包括新的在线备份工具
内容简介
本书是MySQL领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了最新MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。
转发+关注,然后添加小助手VX:xuanwo008即可获得《高性能MySql(第3版)》电子版的免费领取方式。
本书不但适合数据库管理员(DBA) 阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
概述
第1章:MySql架构与历史
第1 章是非常基础的一章,在更深入地学习之前建议先熟悉一下这部分内容。在有效地使用MySql 之前应当理解它是如何组织的。本章解释了MySQL 的架构及其存储引擎的关键设计。如果读者还不太熟悉关于数据库和事务的基础知识,本章也可以带来一点帮助。如果之前已经对其他关系数据库如Oracle 比较熟悉,本章也可以帮助读者了解MySQL 的入门知识。本章还包括了一点MySQL 的历史背景:MySQL 随着时间的演进、最近的公司所有权更替,以及我们认为比较重要的内容。
打造坚实的基础
第2章:MySql基准测试
第2章讨论了基准测试的基础,例如服务器可以处理的工作负载的类型、处理特定任务的速度等。基准测试是一项至关重要的技能,可用于评估服务器在不同负载下的表现,但也要明白在什么情况下基准测试不能发挥作用。
第3章:服务器性能剖析
第3章介绍了我们常用于故障诊断和服务器性能问题分析的一种面向响应时间的方法。该方法已经被证明可以解决我们曾碰到过的一些极为棘手的问题。当然也可以选择修改我们所使用的方法(实际上我们的方法也是从Cary Millsap 的方法修改而来的),但无论如何,至少不能没有方法胡乱猜测。
第4章:Schema与数据类型优化
从第4章到第6 章,连续介绍了三个关于良好的数据库逻辑设计和物理设计基础的话题。第4 章涵盖了不同数据类型的细节差别以及表设计的原则。
第5章:创建高性能的索引
第5 章则展开讨论了索引,这是数据库的物理设计。对于索引的深入理解和利用是高效使用MySQL 的基础,相信这一章会经常需要回头翻看。
转发+关注,然后添加小助手VX:xuanwo008即可获得《高性能MySql(第3版)》电子版的免费领取方式。
第6章:查询性能优化
而第6 章则包含了分析MySQL 的查询是如何执行的,以及如何利用查询优化器的话题。该章也包含了大量常见类型查询的例子,演示了MySQL 是如何做好工作的,以及如何改写查询以利用MySQL 的特性。
第7章:MySql高级特性
到此为止,已经覆盖了关于数据库的基础内容:表、索引、数据和查询。第7 章则在MySQL 基础知识之外介绍了MySQL 的高级特性是如何工作的。这章的内容包括分区、存储引擎、触发器,以及字符集。MySQL 中这些特性的实现可能不同于其他数据库,可能之前读者并不清楚这些不同,因此理解它们对于性能可能会带来新的收益。
配置应用程序
接下来的两章讲述的是如何让MySQL、应用程序及硬件一起很好地工作。
第8章:优化服务器设置
第8 章介绍了如何配置MySQL,以便更好地利用硬件,达到更好的可靠性和鲁棒性。
第9章:操作系统和硬件优化
第9 章解释了如何让操作系统和硬件工作得更好。另外也深入讨论了固态硬盘,为高可扩展性应用发挥更好的性能提供了硬件配置的建议。
第8/9两章都一定程度地涉及了MySQL 的内部知识。这将会是一个反复出现的主题,附录中也会有相关内容可以学习到MySQL 的内部是如何实现的,理解了这些知识将帮助读者更好地理解某些现象背后的原理。
作为基础设施组件的MySQL
MySQL 不是存在于真空中的,而是应用整体的一个环节,因此需要考虑整个应用架构的鲁棒性。下面的章节将告诉我们该如何做到这一点。
第10章:复制
第10 章讨论了MySQL 的杀手级特性:能够设置多个服务器从一台主服务器同步数据。不幸的是,复制可能也是MySQL 给很多用户带来困扰的一个特性。但实际上不应该发生这样的情况,本章将告诉你如何让复制运行得更好。
转发+关注,然后添加小助手VX:xuanwo008即可获得《高性能MySql(第3版)》电子版的免费领取方式。
第11章: 可扩展的MySql
第11章讨论了什么是可扩展性(这和性能不是一回事),应用和系统为什么会无法扩展,该怎么改善扩展性。如果能够正确地处理,MySQL 的可扩展性是足以应付任何需求的。
第12章:高可用性
第12章讲述的是和可扩展性相关但又完全不同的主题:如何保障MySQL 稳定而正确地持续运行。
第13章:云端的MySql
13 章将告诉你当MySQL 在云计算环境中运行时会有什么不同的事情发生。
第14章:应用层优化
第14章解释了什么是全方位的优化(full-stack optimization),就是从前端到后端的整体优化,从用户体验开始直到数据库。
第15章:备份与恢复
即使是世界上设计最好、最具可扩展性的架构,如果停电会导致彻底崩溃,无法抵御恶意攻击,解决不了应用的bug 和程序员的错误,以及其他一些灾难场景,那就不是什么好的架构。第15 章讨论了MySQL 数据库各种备份与恢复的场景。这些策略可以帮助读者减少在各种不可抗的硬件失效时的宕机时间,保证在各种灾难下的数据最终可恢复。
转发+关注,然后添加小助手VX:xuanwo008即可获得《高性能MySql(第3版)》电子版的免费领取方式。
其他有用的主题
在本书的最后一章以及附录中,我们探讨了一些无法明确地放到前面章节的内容,以及一些被前面多个章节引用而需要特别注意的主题。
第16章:MySql用户工具
第16章探索了一些可以帮助用户更有效地管理和监控MySQL 服务器的工具,有些是开源的,也有些是商业的。
附录
- 附录A 介绍了近年来成长迅速的三个主要的非MySQL 官方版本,其中一个是我们公司在维护的产品。知道还有其他什么是可用的选择是有价值的;很多MySQL 难以解决的棘手问题在其他的变种版本中说不定就不是问题了。这三个版本中的两个(Percona Server 和MariaDB)是MySQL 的完全可替换版本,所以尝试使用的成本相对来说是很低的。当然,在这里我们也需要补充一点,Oracle 提供的MySQL 官方版本对于大多数用户来说都能服务得很好。
- 附录B 演示了如何检查MySQL 服务器。知道如何从服务器获取状态信息是非常重要的;而了解这些状态代表的意义则更加重要。这里将覆盖SHOW INNODB STATUS 的输出结果,因此这里包含了InnoDB 事务存储引擎的深入信息。在这个附录中讨论了很多InnoDB的内部信息。
- 附录C 演示了如何高效地将大文件从一个地方复制到另外一个地方。如果要管理大量的数据,这种操作是经常都会碰到的。
- 附录D 演示了如何真正地使用并理解EXPLAIN 命令。附录E 演示了如何破除不同查询所请求的锁互相干扰的问题。最后,附录F 介绍了Sphinx,一个基于MySQL 的高性能的全文索引系统。
转发+关注,然后添加小助手VX:xuanwo008即可获得《高性能MySql(第3版)》电子版的免费领取方式。
文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《拥有大厂梦,却因为MySQL败下阵来,那你一定要看这本经典之作》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
499 收藏
-
244 收藏
-
235 收藏
-
157 收藏
-
101 收藏
-
475 收藏
-
266 收藏
-
273 收藏
-
283 收藏
-
210 收藏
-
371 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习
-
- 悲凉的酒窝
- 真优秀,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢作者分享技术贴!
- 2023-03-31 09:10:01
-
- 义气的眼神
- 这篇文章真是及时雨啊,太全面了,太给力了,码起来,关注作者大大了!希望作者大大能多写数据库相关的文章。
- 2023-03-03 08:09:32
-
- 霸气的黄豆
- 这篇技术文章真是及时雨啊,细节满满,写的不错,收藏了,关注老哥了!希望老哥能多写数据库相关的文章。
- 2023-01-25 13:18:29
-
- 合适的红牛
- 写的不错,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢up主分享博文!
- 2023-01-21 03:19:02
-
- 可靠的大地
- 太全面了,码起来,感谢老哥的这篇技术贴,我会继续支持!
- 2023-01-17 00:48:37