当前位置: 首页 > news >正文

读高性能MySQL(第4版)笔记20_Performance Schema和其他

1. 线程

1.1. MySQL服务端是多线程软件。它的每个组件都使用线程

1.2. 每个线程至少有两个唯一标识符

1.2.1. 操作系统线程ID

1.2.2. MySQL内部线程ID

2. 对象类型

2.1. OBJECT_TYPE列

2.2. EVENT

2.3. FUNCTION

2.4. PROCEDURE

2.5. TABLE

2.6. TRIGGER

3. Performance Schema

3.1. 一个经常受到批评的特性

3.1.1. 早期版本的MySQL对其的实现不够理想,导致资源消耗较高

3.2. 提供了有关MySQL服务器内部运行的操作上的底层指标

3.3. 应该启用Performance Schema,按需动态地启用插桩和消费者表,通过它们提供的数据可以解决可能存在的任何问题——查询性能、锁定、磁盘I/O、错误等

3.4. 充分利用sys schema是解决常见问题的捷径。这样做将为你提供一种可以直接从MySQL中测量性能的方法

3.5. 程序插桩(instrument)

3.6. 消费者表(consumer)

3.7. 测量结果存储在Performance Schema数据库的多个表中

3.7.1. MySQL 8.0.25社区版的performance_schema中包含110个表

3.8. 摘要是一种通过删除查询中的变量来聚合查询的方法

3.9. 实例表(Instance)

3.9.1. 实例是指对象实例,用于MySQL安装程序

3.10. 设置表(Setup)

3.10.1. 用于performance_schema的运行时设置

3.11. metadata_locks表保存关于元数据锁的数据

3.12. Performance Schema收集的数据保存在内存中

3.13. 标准MySQL发行版包括一个和performance_schema数据配套使用的sys schema,它全部基于performance_schema上的视图和存储例程组成

3.14. 要启用或禁用Performance Schema,可以将变量performance_schema设置为ON或OFF

3.15. 启用或禁用performance_schema插桩

3.15.1. 使用setup_instruments表

3.15.1.1. 使用UPDATE语句更改instruments表的对应列值

3.15.2. 调用sys schema中的ps_setup_enable_instrument存储过程

3.15.2.1. ps_setup_enable_instrument
3.15.2.2. ps_setup_disable_instrument

3.15.3. 使用performance-schema-instrument启动参数

3.15.3.1. 变量支持performance-schema-instrument='instrument_name=value'这样的语法

3.16. 启用或禁用消费者表

3.16.1. 使用Performance Schema中的setup_consumers表

3.16.2. 调用sys     schema中的ps_setup_enable_consumer或ps_setup_disable_consuper存储过程

3.16.3. 使用performance-schema-consumer启动参数

3.17. 事务执行期间会一直持有元数据锁

3.17.1. 要启用元数据锁监测,需要启用wait/lock/meta-data/sql/mdl插桩

4. 升级MySQL

4.1. 新版本和稳定性之间的权衡

4.1.1. MySQL社区的长期成员Stewart Smith创造了著名的dot-20规则

4.1.2. 一款软件在dot-20版本发布之前永远不会真正成熟。

4.2. 进行版本升级是一个有风险的过程

4.2.1. 包括备份所有数据、测试更改,然后运行升级过程

4.3. 大版本的升级可能会让人望而却步

4.4. 升级的原因

4.4.1. 安全漏洞

4.4.1.1. 随着时间的推移,这种可能性会越来越小,但人们仍然有可能在MySQL中发现安全漏洞

4.4.2. 已知的bug

4.4.2.1. 在生产环境中遇到未知或无法解释的行为时,我们建议你确定当前运行的MySQL版本,然后阅读后续版本到最新版本的发布说明

4.4.3. 新功能

4.4.3.1. MySQL并不总是遵循严格的主要(major)/次要(minor)/点(point)的版本发布策略来添加功能

4.4.4. MySQL支持周期的终止

4.4.4.1. 建议保持在受支持的版本内,以便至少仍支持安全修复

4.5. 升级步骤

4.5.1. 制订一个计划

4.5.2. 阅读该版本的发行说明,包括任何微小的更改

4.5.3. 阅读官方文档中的升级说明

4.5.4. 对新版本进行测试

4.5.5. 最后执行升级

4.6. 降级

4.6.1. 对于所有主要和次要的版本变更(例如,从8.0降级到5.7或从5.7降级到5.6),降级的唯一方法是恢复升级前的备份

4.6.2. 自从MySQL 8.0以来,不能再降级点发布版本

4.6.3. 如果你运行的是8.0.25版本,除非导出所有数据并重新导入,否则不能再降级到8.0.24

4.7. 工具

4.7.1. Percona Toolkit提供的工具pt-upgrade

4.8. 最好的使用方法是首先使用慢速查询日志或二进制日志收集最关注的查询

4.9. 与直接登录到每台服务器相比,自动化可以使升级过程易于重复,并且效率更高,而且因出现拼写错误或者到错误的服务器上执行升级而导致意外停机的概率也更低

5. Kubernetes

5.1. 在Kubernetes技术流行之前,许多公司要么完全定制技术栈来供应和管理虚拟机和物理服务器,要么只完成了将资源生命周期管理一小部分的开源项目黏合在一起

5.2. MySQL不应该是在组织中Kubernetes上运行工作负载的第一个实验对象

相关文章:

读高性能MySQL(第4版)笔记20_Performance Schema和其他

1. 线程 1.1. MySQL服务端是多线程软件。它的每个组件都使用线程 1.2. 每个线程至少有两个唯一标识符 1.2.1. 操作系统线程ID 1.2.2. MySQL内部线程ID 2. 对象类型 2.1. OBJECT_TYPE列 2.2. EVENT 2.3. FUNCTION 2.4. PROCEDURE 2.5. TABLE 2.6. TRIGGER 3. Perfor…...

spring cloud Eureka集群模式搭建(IDEA中运行)《二》

上一篇集群配置文件完善 上一篇博客,想必大家都学会了Eureka集群模式的搭建和运行,针对上一篇的配置文件进行了优化,在这里分享给大家。上一篇主要有3个配置文件,分别对应3个不同的服务,这种形式配置文件分别写在了不…...

大模型(LLM)在电商推荐系统的探索与实践

本文对LLM推荐的结合范式进行了梳理和讨论,并尝试将LLM涌现的能力迁移应用在推荐系统之中,利用LLM的通用知识来辅助推荐,改善推荐效果和用户体验。 背景 电商推荐系统(Recommend System,RecSys)是一种基于…...

C语言之指针详解

目录 地址 指针的定义和使用 数组与指针的区别与联系 字符串与指针的用法 C 中的 NULL 指针 指针的算术运算 指向指针的指针 传递指针给函数 从函数返回指针 在学习指针之前,我们先弄清楚一个概念: 地址 地址在计算机内存中是一个唯一的标识符…...

【Java笔记+踩坑】设计模式——原型模式

导航: 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/黑马旅游/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码-CSDN博客​ 目录 零、经典的克隆羊问题(复制10只属性相同的羊) 一、传统方案&#xff1…...

Flutter GetX使用详解

介绍 GetX是一款功能强大且轻量级的Flutter状态管理和路由管理库。它提供了一种简单而强大的方式来构建Flutter应用程序,无需大量的模板代码。GetX不仅提供了状态管理和路由管理,还包括其他实用工具,如国际化和依赖注入。 在本文中&#xf…...

【ARM Coresight 系列文章 3.3 - ARM Coresight SWD 协议详细介绍】

文章目录 1.1 SWD 协议框图1.2 读/写时序及命令1.2.1 SWD 时序1.2.2 SWD 命令详情1.3 芯片探测1.3.1 获取芯片 ID1.4 读/写操作1.1 SWD 协议框图 SWD协议可以配置SoC内部几乎所有的寄存器。时钟信号由SWCLK 管脚输入,数据信号从SWDIO管脚输入输出。首先 HOST 对SW-DP 进行操作…...

作为开发者,可视化开发工具了解一下

你是否为编程世界的各种挑战感到头痛?想要以更高效、简单的方式开发出专业级的项目? JNPF低代码工具正是你苦心寻找的产品!它是一款专为稍微懂一点点编程思想的入门级人员设计的神奇工具,集成了丰富的功能和组件,让你轻…...

Python:实现日历功能

背景 日常生活中,每天都要用到日历,日历成为我们生活中的必需品,那么如何制作日历呢,其实方法有很多,可以直接在excel中制作,也可以手画等等。 学习过编程的朋友,能否想到用Python编写一…...

2.9.C++项目:网络版五子棋对战之业务处理模块的设计

文章目录 一、意义二、功能三、管理(一)客户端请求(二)websocket 四、框架五、完整代码 一、意义 将所有的模块整合在一起,通过网络通信获取到客户端的请求,提供不同的业务处理。 服务器模块,是…...

springboot actuator 常用接口

概述 微服务作为一项在云中部署应用和服务的新技术是当下比较热门话题,而微服务的特点决定了功能模块的部署是分布式的,运行在不同的机器上相互通过服务调用进行交互,业务流会经过多个微服务的处理和传递,在这种框架下&#xff0…...

知识点滴 - Email地址不区分大小写

电子邮件地址本身对字符大小写不敏感。这意味着实际的电子邮件地址,如 "exampleemail.com",并不区分字母的大小写。无论你输入的是大写字母还是小写字母,它仍然会到达同一个电子邮件账户。例如,如果您的电子邮件地址是 …...

同一个页面同一区域两个el-table在v-if下样式重叠问题

🍉正常情况下在radio切换时两个表格的样式应如下 🍉实际上用v-if显示时会出现以下问题(本该属于时间段相同模块的表格却出现在时间段自定义的表格中) 🍉解决方案: 🍃一、将v-if替换成v-show(…...

ExoPlayer架构详解与源码分析(6)——MediaPeriod

系列文章目录 ExoPlayer架构详解与源码分析(1)——前言 ExoPlayer架构详解与源码分析(2)——Player ExoPlayer架构详解与源码分析(3)——Timeline ExoPlayer架构详解与源码分析(4)—…...

【开题报告】基于Spring Boot的课程在线预约系统的设计与实现

1.引言 随着互联网的发展,线上教育和课程培训变得越来越普遍。然而,很多学生在选择课程时面临一些困扰,例如如何找到适合自己的课程,如何与老师进行预约等。因此,设计一个基于Spring Boot的课程在线预约系统具有重要的…...

React Hooks还有哪些常用的用法?

除了之前提到的 useState、useEffect、useContext、useRef、useMemo 和 useCallback,还有一些其他常用的 React Hooks,它们提供了额外的功能和灵活性。以下是其中一些常见的 React Hooks: 1:useReducer:用于在函数组件中管理复杂的状态逻辑,类似于 Redux 的 reducer。 …...

基于Java的学生学籍管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...

Java内部类、匿名内部类、嵌套类详解

CONTENTS 1. 创建内部类2. 内部类到外部类的连接3. 在内部类中生成外部类对象的引用4. 匿名内部类5. 嵌套类6. 接口中的类 1. 创建内部类 创建内部类的方式就是把类定义放在一个包围它的类之中: package com.yyj;public class Parcel1 {class Contests {private i…...

【兔子王赠书第3期】《案例学Python(进阶篇)》

文章目录 前言推荐图书本书特色本书目录本书样章本书读者对象粉丝福利丨评论免费赠书尾声 前言 随着人工智能和大数据的蓬勃发展,Python将会得到越来越多开发者的喜爱和应用。因为Python语法简单,学习速度快,大家可以用更短的时间掌握这门语…...

【C刷题】day6

一、选择题 1、以下叙述中正确的是( ) A: 只能在循环体内和switch语句体内使用break语句 B: 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行 C: continue语句的作用是:在…...

树莓派+SocketCAN实战:手把手教你用CanFestival控制伺服电机(附完整配置文件)

树莓派SocketCAN实战:手把手教你用CanFestival控制伺服电机(附完整配置文件) 在工业自动化和机器人控制领域,CANopen协议因其高可靠性和实时性成为伺服电机控制的首选方案。本文将带你用树莓派这一低成本硬件平台,结合…...

Bongo Cat功能选择指南:从需求定位到场景化配置

Bongo Cat功能选择指南:从需求定位到场景化配置 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作,每一次输入都充满趣味与活力! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat Bongo Cat是一…...

全学科适用AI写作辅助网站排行榜(2026 实测推荐)

基于功能完整性、学术适配性、用户反馈及操作便捷性,以下是当前主流AI论文写作工具的实测排名,按综合使用价值从高到低依次呈现,并附上各平台的核心优势与适用人群。🏆 第一梯队:全流程学术解决方案(★★★…...

掌握上下文工程,小白也能轻松驾驭大模型(收藏版)

本文深入解析了上下文工程的概念及其与提示工程的核心区别。随着AI进入Agent时代,上下文工程成为构建高效AI应用的关键。文章详细阐述了如何通过优化系统提示、设计高效工具和运用Few-shot Prompting来提升上下文管理能力,并介绍了应对长时程任务的压缩、…...

TCGA数据下载神器gdc-client实战:Win10系统闪退问题一网打尽

TCGA数据高效下载指南:gdc-client在Win10系统的深度优化与故障排除 1. 为什么选择gdc-client下载TCGA数据? 对于生物信息学研究者来说,获取TCGA(癌症基因组图谱)数据是开展肿瘤基因组学研究的第一步。然而,…...

革新性暗黑破坏神2存档管理开源工具:d2s-editor全功能解析

革新性暗黑破坏神2存档管理开源工具:d2s-editor全功能解析 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 暗黑破坏神2存档修改门槛高?复杂二进制格式难以操作?d2s-editor作为免费开源的Web端…...

内容解锁工具:突破信息壁垒的智能解决方案

内容解锁工具:突破信息壁垒的智能解决方案 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,知识获取的不平等现象日益凸显。当研究人员急…...

python高校大学生家教平台的设计与开发

目录需求分析与功能规划技术栈选型数据库设计关键功能实现测试与部署持续迭代项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能规划 明确平台核心需求,包括用户角色划分(学生、教师、管理员…...

ChatGLM-6B角色扮演功能开发:基于Prompt的智能对话系统

ChatGLM-6B角色扮演功能开发:基于Prompt的智能对话系统 1. 引言 想象一下,你正在开发一个智能客服系统,需要让AI能够扮演不同角色的专业人士来回答用户问题。或者你正在创建一个教育应用,希望AI能够化身历史人物、科学导师或文学…...

不只是图表:用Three.js和Vue3打造一个可交互的3D热力图组件库(附完整源码)

不只是图表:用Three.js和Vue3打造一个可交互的3D热力图组件库 在数据可视化领域,3D热力图正逐渐成为展示高密度空间数据的首选方案。传统2D热力图虽然直观,但在表现复杂数据关系时往往力不从心。本文将带您从零开始构建一个生产级Vue3Three.j…...