读高性能MySQL(第4版)笔记21_读后总结与感想兼导读

1. 基本信息

高性能MySQL:经过大规模运维验证的策略(第4版)

High Performance MySQL, Fourth Edition

 [美] Silvia Botros(西尔维亚·博特罗斯);Jeremy Tinley(杰里米·廷利)

电子工业出版社,2022年10月出版

1.1. 读薄率

书籍总字数471千字,笔记总字数50817字。

读薄率50817÷471000≈10.79%

1.2. 读厚方向

  1. SQL入门经典(第5版)

  2. SQL权威指南(第4版)

  3. SQL解惑(第2版)

  4. SQL编程风格

  5. 深度探索关系数据库:实践者的关系理论

  6. SQL必知必会第5版

1.3. 笔记--章节对应关系

笔记章节字数发布日期
2023年
读高性能MySQL(第4版)笔记01_MySQL架构(上)第1章MySQL架构24718月15日
读高性能MySQL(第4版)笔记02_MySQL架构(下)第1章MySQL架构19108月16日
读高性能MySQL(第4版)笔记03_监控第2章可靠性工程世界中的监控30568月17日
读高性能MySQL(第4版)笔记04_操作系统和硬件优化第4章操作系统和硬件优化35129月7日
读高性能MySQL(第4版)笔记05_优化服务器设置第5章优化服务器设置46009月11日
读高性能MySQL(第4版)笔记06_优化数据类型(上)第6章schema设计与管理20999月12日
读高性能MySQL(第4版)笔记07_优化数据类型(下)第6章schema设计与管理24479月13日
读高性能MySQL(第4版)笔记08_创建高性能索引(上)第7章创建高性能的索引27349月14日
读高性能MySQL(第4版)笔记09_创建高性能索引(下)第7章创建高性能的索引25199月15日
读高性能MySQL(第4版)笔记10_查询性能优化(上)第8章查询性能优化25919月19日
读高性能MySQL(第4版)笔记11_查询性能优化(中)第8章查询性能优化22609月20日
读高性能MySQL(第4版)笔记12_查询性能优化(下)第8章查询性能优化22279月21日
读高性能MySQL(第4版)笔记13_备份与恢复(上)第10章备份与恢复20789月22日
读高性能MySQL(第4版)笔记14_备份与恢复(中)第10章备份与恢复23359月23日
读高性能MySQL(第4版)笔记15_备份与恢复(下)第10章备份与恢复12589月26日
读高性能MySQL(第4版)笔记16_复制(上)第9章复制26649月28日
读高性能MySQL(第4版)笔记17_复制(下)第9章复制33859月29日
读高性能MySQL(第4版)笔记18_扩展MySQL第11章扩展MySQL257610月24日
读高性能MySQL(第4版)笔记19_云端和合规性第12章云端的MySQL
第13章MySQL的合规性
268510月25日
读高性能MySQL(第4版)笔记20_Performance Schema和其他第3章Performance Schema
附录A 升级MySQL
附录B Kubernetes上的MySQL
141010月26日
$总计50817$

2. 亮点

2.1. MySQL 8 和5.7的差异

提到了8和5.7版本的差异。

2.2. MySQL的合规性

文中的是欧美的法规法条,有一定意义但是不大,更多地则是启示作用,启示我们要结合我国颁布的一些法律法规考虑国产数据库的合规性。

2.3. 详细说明了复制、备份、恢复这三个概念

可以说这3者是高性能的基础。

3. 感想

3.1. 性能或者说高性能需要全方位考虑

第一层,SQL语句及其调优仅仅是高性能的一小部分而已,更多需要考虑的是硬件资源、网络带宽、存储方式等,好马配好鞍。基于MySQL

第二层,在某些业务场景下,可以选择更合适的关系数据库。基于关系数据库

第三层,在某些业务场景下,可以选择非关系数据库,键值、列式、文档或者图数据库。基于非关系数据库

第四层,工欲善其事必先利其器,什么合适用什么。基于混合多种数据库

3.2. 书读得越多越细,发现自己不懂的越多

首先,技术更新换代很快,知识推陈出新的节奏也很快。

其次,DevSecOps,行业细分之后又快速融合,码农、dba、运维、安全原来泾渭分明,现在在大一统。前后端分离,然后还全栈。木工要干瓦匠和漆工的活,一锤80,二锤80...

第三,好书要反复读,历久弥新,交叉读,同类项比较读,能有新发现。

最后,书到用时方恨少,多读书总没有什么坏处。(伪书、烂书一大堆的情况下,读到这些书那就是浪费时间了)。

3.3 经典好书,推荐阅读

3.4. 读第3版还是第4版

这是读者问我的问题,我的观点是除非你在用着旧版的MySQL而且不打算升级到新版,那么就读3版,否则读新版。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/121135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS DevEso环境搭建

DevEco Studio 3.1配套支持HarmonyOS 3.1版本及以上的应用及服务开发,提供了代码智能编辑、低代码开发、双向预览等功能,以及轻量构建工具DevEco Hvigor 、本地模拟器,持续提升应用及服务开发效率。 1.下载 官方网站: HUAWEI De…

Python深度学习实战-基于tensorflow原生代码搭建BP神经网络实现分类任务(附源码和实现效果)

实现功能 前面两篇文章分别介绍了两种搭建神经网络模型的方法,一种是基于tensorflow的keras框架,另一种是继承父类自定义class类,本篇文章将编写原生代码搭建BP神经网络。 实现代码 import tensorflow as tf from sklearn.datasets import…

Transit path

一、什么是Transit path "Transit" 路径通常指的是网络上的一种数据传输路线或路径,该路线用于在计算机网络中传递数据包。这个术语通常在网络和通信领域中使用,用于描述数据从一个地方传输到另一个地方的路线或路径。 在计算机网络中&#…

使用spring boot的程序主线程中异步访问外部接口

如题。之所以要采用异步方式,是因为外部接口不可控,无法预测。如果对方不在线,因而无法访问,只有靠超时抛出异常,容易造成堵塞。 比如下面的代码,有2个定时器,其中刷新设备数据每2秒1次&#x…

有了InheritableThreadLocal为啥还需要TransmittableThreadLocal?

有了InheritableThreadLocal为啥还需要TransmittableThreadLocal? 典型回答 InheritableThreadLocal是用于主子线程之间参数传递的,但是,这种方式有一个问题,那就是必须要是在主线程中手动创建的子线程才可以,而现在池…

ssh连接远程服务器,并在终端安装anaconda

官网下载安装:anaconda2023.09版本(官网地址:https://www.anaconda.com/download#downloads) wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh使用阿里云镜像下载安装,官网下载太慢。阿…

2698 求一个整数的惩罚数 (子集和,DFS)

class Solution { public:bool dfs(int target, string s, int index, int sum) {// 只有整个字符串都被分割,求和,和看结果是不是等于targetif(index s.size()) {return sum target;}int num 0; // 在现在的子集中去依次加入余下的元素// 1 2 9 6// …

支付宝证书到期更新完整过程

如果用户收到 支付宝公钥证书 到期通知后,可以根据如下指引更新证书 确认上传成功后就会生成新的证书,把新的证书替换到生产环境就可以了

浏览器事件循环 (event loop)

进程与线程 进程 进程的概念 进程是操作系统中的一个程序或者一个程序的一次执行过程,是一个动态的概念,是程序在执行过程中分配和管理资源的基本单位,是操作系统结构的基础。 简单的来说,就是一个程序运行开辟的一块内存空间&a…

RocketMQ事务消息 超时重发还是原来的消息吗?

以下面的一个demo例子来分析一下,探索RocketMQ事务消息原理。 public static final String PRODUCER_GROUP "tran-test";public static final String DEFAULT_NAMESRVADDR "127.0.0.1:9876";public static final String TOPIC "Test&qu…

【CSS】CSS 属性计算过程

1. 概述 我们所书写的任何一个 HTML 元素&#xff0c;实际上都有完整的一整套 CSS 样式。如果没有修改某样式&#xff0c;大概率可能使用默认值。 例如&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"&…

3台Centos7快速部署Kafka集群

首先&#xff0c;我要说&#xff0c;Kafka 是强依赖于 ZooKeeper 的&#xff0c;所以在设置 Kafka 集群之前&#xff0c;我们首先需要设置一个 ZooKeeper 集群。 部署ZooKeeper需要安装jdk yum install java-1.8.0-openjdk 安装完以后 下面是详细的步骤&#xff1a; 1. 安装和…

iOS_Crash 四:的捕获和防护

文章目录 1.Crash 捕获1.2.NSException1.2.C异常1.3.Mach异常1.4.Unix 信号 2.Crash 防护2.1.方法未实现2.2.KVC 导致 crash2.3.KVO 导致 crash2.4.集合类导致 crash2.5.其他需要注意场景&#xff1a; 1.Crash 捕获 根据 Crash 的不同来源&#xff0c;分为以下三类&#xff1a…

NReco.LambdaParser使用案例

使用案例集合&#xff1a; private async void RuleEngine_Click(object sender, EventArgs e){#region 获取变量string expression this.Rule.Text.Trim();string pattern "\$(.*?)\$";MatchCollection matches Regex.Matches(expression, pattern);foreach (Ma…

day38(VueJS)概念 开发模式 框架的特点 启动步骤 指令 以及 小案例

概念 概念&#xff1a;Vue 是一套使用 Javascript 构建用户界面的渐进式框架。 Vue 框架涉及的内容有&#xff1a;Vue.js 开发概述、环境搭建、 Vue 指令、组件化应用构建、组件通信、组件嵌套、自定义指令、 自定义过滤器、组件属性、组件的路由、路由跳转。 注意&#xff1a…

unity 基于UGUI的无限动态滚动列表

基于UGUI的动态滚动列表&#xff0c;主要支持以下功能&#xff1a; 继承自UGUI的SrollRect&#xff0c;支持ScrollRect的所有功能&#xff1b; 使用对象池来管理列表元素&#xff0c;以实现列表元素的复用&#xff1b; 支持一行多个元素或一列多个元素&#xff1b; 可使用不…

ubuntu 22.04 jammy 手动安装 python 3.6

1 准备编译器 sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \ libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev \ libgdbm-dev libnss3-dev libedit-dev libc…

vue3 项目搭建教程整理

这里写目录标题 一、node二、npm三、搭建项目四、安装插件 一、node 查node版本&#xff1a;node –v 管理nodejs的版本 二、npm 查npm版本&#xff1a; npm –v1、安装指定版本&#xff08;6.14是具体的版本号&#xff09; npm install npm6.14 -g2、安装最新版本 npm ins…

【MyBatis Plus】深入探索 MyBatis Plus 的条件构造器,自定义 SQL语句,Service 接口的实现

文章目录 前言一、条件构造器1.1 什么是条件构造器1.2 QueryWrapper1.3 UpdateWrapper1.4 LambdaWrapper 二、自定义 SQL 语句2.1 自定义 SQL 的基本用法2.2 自定义 SQL 实现多表查询 三、Service 接口3.1 对 Service 接口的认识3.2 实现 Service 接口3.3 实现增删改查功能3.4 …

el-form那些事

vue3element-plus el-form那些事 输入框后拼接文字 输入框后拼接文字 <el-form-item :label"t(location.locationLength)" prop"locationLength"><el-input v-model"form.locationLength" :placeholder"t(location.inputLocation…