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

MySQL性能调优探秘:我的实战笔记 (上篇:从EXPLAIN到SQL重写)

哈喽,各位技术伙伴们!👋 最近我一头扎进了 MySQL 性能调优的奇妙世界,感觉就像打开了新世界的大门!从一脸懵懂到现在能看懂 EXPLAIN 的“天书”,还能对 SQL “指点江山”,这个过程充满了“啊哈!”时刻。今天就想和大家分享一下我到目前为止的学习心得和实战笔记,希望能给同样在学习或者工作中需要和 MySQL 打交道的你带来一些启发。我们不谈空泛理论,只聊干货和实践!💪


一、你的第一把瑞士军刀:EXPLAIN 命令 🔍

想象一下,你要去一个陌生城市,地图就是你的向导。在 MySQL 的世界里,EXPLAIN 命令就是你洞察 SQL 查询执行计划的“活地图”!

当我们向 MySQL 提交一条查询语句时,它并不会立刻闷头去硬盘里翻箱倒柜。相反,它会先经过解析器 (Parser) 解析语法,然后交给查询优化器 (Query Optimizer)。优化器会像个足智多谋的军师,分析各种可能的执行路径(比如是用这个索引还是那个索引?表连接的顺序怎样最优?),最后选择一个它认为成本最低的执行计划 (Execution Plan),再交给执行引擎 (Executor) 去真正干活。

EXPLAIN 命令就能让我们一窥优化器最终选定的这份“作战地图”。通过它,我们可以知道:

  • 查询访问了哪些表?
  • MySQL 选择了哪个索引(或者没用索引导致全表扫描😭)?
  • 预估扫描了多少行数据?
  • 连接表的方式是怎样的?
  • 有没有用到临时表或者文件排序等耗性能的操作?

这是我们诊断慢查询、理解性能瓶颈的第一步,也是最重要的一步!


二、索引的魔法:不止是“目录”那么简单 📚✨

说到性能优化,90% 的情况都和索引有关。我们不仅要创建索引,更要理解它的“脾气”,让它真正为我们所用。

1. 索引不是万能的,选择性很重要! 高选择性的列(比如用户ID、订单号)创建索引效果拔群。但如果给“性别”这样的列(只有几种固定值)创建索引,优化器可能宁愿全表扫描。

2. 复合索引与“最左前缀”黄金法则! 当查询条件涉及多个列时,复合索引 (INDEX(colA, colB, colC)) 能大显神通。但记住最左前缀原则:查询必须从索引的最左列开始,并且不能跳过中间的列,才能充分利用复合索引。

3. 覆盖索引:让查询“飞”起来! 如果一个索引包含了查询所需的所有列(SELECT 和 WHERE 里用到的),MySQL 就可以只读取索引而无需访问数据表本身(避免了“回表”),这就是覆盖索引。EXPLAIN 的 Extra 列显示 Using index 就是它的标志。不过,我们在实践中也发现,即使设计了覆盖索引,优化器也可能因为前缀索引或其他成本考量而不显示 Using index,但查询依然高效!这提醒我们优化器的世界很深奥。


三、SQL优雅转身:重写技巧让查询更“Smarter” ✍️

除了索引,SQL 语句本身的写法也至关重要。有些看似不经意的写法,可能就是性能杀手。

1. 告别 SELECT * 只选择你真正需要的列,减少I/O、网络开销,还能为覆盖索引创造机会。

2. 让 WHERE 条件“Sargable” (参数可优化): 这是重中之重!避免在索引列上使用函数或运算,否则索引会“哭晕在厕所”(失效)。 * 反例:WHERE YEAR(order_date) = 2024 (索引失效) * 正解:WHERE order_date >= '2024-01-01' AND order_date < '2025-01-01'(索引可用!) 我们在实践中发现,即使写对了Sargable条件,如果查询范围覆盖的数据量特别大(比如超过表数据的20-30%),优化器也可能“自作主张”选择全表扫描,因为它认为那样总成本更低!通过 FORCE INDEX 可以一探究竟,但生产环境慎用。

3. 子查询 vs. JOIN 以前常说用 JOIN 替换子查询,但现代 MySQL 优化器对 IN 和 EXISTS 子查询(尤其前者)优化得相当好,甚至能转成高效的半连接(FirstMatch 策略)。JOIN + SELECT DISTINCT 反而可能因为临时表开销更大。关键还是:EXPLAIN大法好,具体问题具体分析!

4. UNION vs. UNION ALL 如果不介意重复行,或者确定不会有重复,果断用 UNION ALL,因为它省去了去重步骤,更快!


四、实践出真知:我的实验小结 🛠️

这次学习最大的感受就是,理论结合实践太重要了!我们搭建了包含百万级数据的测试库,亲手创建索引,用 EXPLAIN 分析执行计划,尝试重写SQL,看到 type: ALL 变成 ref 或 rangerows从几十万降到几十几百,那种成就感无与伦比!也遇到了优化器“不按套路出牌”的情况,逼着我们更深入地思考其背后的成本估算逻辑。


总结与展望 💡

到目前为止,我们主要聚焦在查询分析和SQL层面的优化。通过EXPLAIN、理解索引机制、重写SQL,已经能解决很多常见的性能问题了。

但MySQL调优之路还很长!接下来,我们还会探索:

  • MySQL服务器配置参数调优
  • 不同存储引擎的特性与优化
  • 更高级的诊断工具和技巧
  • ...等等

如果你也对MySQL性能调优感兴趣,或者有什么独门秘籍,欢迎在评论区交流!也请期待我的下一篇学习笔记哦!😉

相关文章:

MySQL性能调优探秘:我的实战笔记 (上篇:从EXPLAIN到SQL重写)

哈喽&#xff0c;各位技术伙伴们&#xff01;&#x1f44b; 最近我一头扎进了 MySQL 性能调优的奇妙世界&#xff0c;感觉就像打开了新世界的大门&#xff01;从一脸懵懂到现在能看懂 EXPLAIN 的“天书”&#xff0c;还能对 SQL “指点江山”&#xff0c;这个过程充满了“啊哈&…...

第15章 Python数据类型详解之分解理解:基础数据类型常见易错点和性能优化篇

文章目录 @[toc]第15章 Python数据类型详解之分解理解:基础数据类型常见易错点和性能优化一、常见易错点剖析1. 整数(`int`)2. 浮点数(`float`)3. 布尔(`bool`)4. 字符串(`str`)5. 字节(`bytes`)与字节数组(`bytearray`)二、性能优化策略1. 整数运算优化2. 浮点数…...

20250506联想Lenovo笔记本电脑的USB鼠标失效之后在WIN10下的关机的方法【触摸板被禁用】

20250506联想Lenovo笔记本电脑的USB鼠标失效之后在WIN10下的关机的方法【触摸板被禁用】 2025/5/6 20:35 缘起&#xff1a;在调试的时候&#xff0c;USB鼠标突然失效了。 由于USB转TTL电平的串口CH340经常插拔【可能接口接触不良了&#xff0c;插拔测试一下是不是串口坏掉了】。…...

【Hive入门】Hive安全管理与权限控制:审计日志全解析,构建完善的操作追踪体系

目录 引言 1 Hive审计日志概述 1.1 审计日志的核心价值 1.2 Hive审计日志类型 2 HiveServer2操作日志配置 2.1 基础配置方案 2.2 日志格式解析 2.3 日志轮转配置 3 Metastore审计配置 3.1 Metastore审计启用 3.2 审计事件类型 4 高级审计方案 4.1 与Apache Ranger…...

某团小程序mtgsig,_token 生成逻辑分析

前言 本文章中所有内容仅供学习交流&#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 太久不更新 重新找回号 …...

C#问题 加载格式不正确解决方法

出现上面问题 解决办法&#xff1a;C#问题 改成x86 不要选择anycpu...

K-means

K均值算法&#xff08;K-means&#xff09;聚类 【关键词】K个种子&#xff0c;均值 一、K-means算法原理 聚类的概念&#xff1a;一种无监督的学习&#xff0c;事先不知道类别&#xff0c;自动将相似的对象归到同一个簇中。 K-Means算法是一种聚类分析&#xff08;cluster…...

凌晨三点的数据库崩溃现场

我是小明&#xff0c;一个在创业公司打杂的全栈开发者。上周四凌晨三点&#xff0c;老板突然在群里甩来一句&#xff1a;"明天早会需要用户行为分析报表&#xff0c;重点看 Q1 新注册用户的付费转化率。"我揉着眼睛打开电脑&#xff0c;对着三个屏幕发愣 —— 左边是…...

【大模型面试】大模型(LLMs)高频面题全面整理(★2025年5月最新版★)

【大模型面试】大模型&#xff08;LLMs&#xff09;高频面题全面整理&#xff08;★2025年5月最新版★&#xff09; &#x1f31f; 嗨&#xff0c;你好&#xff0c;我是 青松 &#xff01; &#x1f308; 自小刺头深草里&#xff0c;而今渐觉出蓬蒿。 本笔记适合大模型初学者和…...

C++入门基础(上)

一. C发展历史 C的起源可以追溯到1979年&#xff0c;当时Bjarne Stroustrup(本贾尼斯特劳斯特卢普&#xff0c;这个翻译的名字不同的地方可能有差异)在贝尔实验室从事计算机科学和软件工程的研究工作。面对项目中复杂的软件开发任务&#xff0c;特别是模拟和操作系统的开发工作…...

Nacos源码—4.Nacos集群高可用分析四

大纲 6.CAP原则与Raft协议 7.Nacos实现的Raft协议是如何写入数据的 8.Nacos实现的Raft协议是如何选举Leader节点的 9.Nacos实现的Raft协议是如何同步数据的 10.Nacos如何实现Raft协议的简版总结 8.Nacos实现的Raft协议是如何选举Leader节点的 (1)初始化RaftCore实例时会开…...

互联网大厂Java求职面试:AI与云原生下的系统设计挑战-3

互联网大厂Java求职面试&#xff1a;AI与云原生下的系统设计挑战-3 第一轮提问&#xff1a;从电商场景切入&#xff0c;聚焦分布式事务与库存一致性 面试官&#xff08;严肃&#xff09;&#xff1a;郑薪苦&#xff0c;你最近在做电商系统的促销活动&#xff0c;如何处理分布…...

【KWDB创作者计划】_通过一篇文章了解什么是 KWDB(KaiwuDB)

文章目录 &#x1f4cb; 前言&#x1f3af; 关于 KaiwuDB 组成&#x1f3af; KaiwuDB 核心架构和功能图&#x1f9e9; KaiwuDB 2.0 版本核心特性&#x1f9e9; KaiwuDB Lite 版本介绍 &#x1f3af; KaiwuDB 产品优势&#x1f3af; KaiwuDB 应用场景&#x1f9e9; 典型应用场景…...

双系统电脑中如何把ubuntu装进外接移动固态硬盘

电脑&#xff1a;win11 ubuntu22.04 实体机 虚拟机&#xff1a;VMware17 镜像文件&#xff1a;ubuntu-22.04.4-desktop-amd64.iso 或者 ubuntu20.4的镜像 外接固态硬盘1个 一、首先win11中安装vmware17 具体安装方法&#xff0c;网上很多教程 二、磁盘分区 1.在笔…...

Flink + Kafka 构建实时指标体系的实战方法论

本文聚焦于如何利用 Flink 与 Kafka 构建一套灵活、可扩展的实时指标体系,特别适用于用户行为分析、营销漏斗转化、业务实时看板等场景。 一、为什么要构建实时指标体系? 在数字化运营趋势下,分钟级指标反馈能力变得尤为重要: ✅ 营销投放实时监控 CTR / CVR ✅ 业务增长实…...

RLOO:将多次其他回答的平均reward作为baseline

RLOO&#xff1a;将多次其他回答的平均reward作为baseline TL; DR&#xff1a;基于 REINFROCE 算法&#xff0c;对于同一 prompt 在线采样 k k k 次&#xff0c;取除自己外的其他 k − 1 k-1 k−1 条回答的平均 reward 作为 baseline。 从 PPO 到 REINFORCE 众所周知&…...

在 Laravel 12 中实现 WebSocket 通信时进行身份验证

在 Laravel 12 中实现 WebSocket 通信时&#xff0c;若需在身份验证失败后主动断开客户端连接&#xff0c;需结合 频道认证机制 和 服务端主动断连操作。以下是具体实现步骤&#xff1a; 一、身份验证流程设计 WebSocket 连接的身份验证通常通过 私有频道&#xff08;Private …...

Transformer 与 LSTM 在时序回归中的实践与优化

&#x1f9e0; 深度学习混合模型&#xff1a;Transformer 与 LSTM 在时序回归中的实践与优化 在处理多特征输入、多目标输出的时序回归任务时&#xff0c;结合 Transformer 和 LSTM 的混合模型已成为一种有效的解决方案。Transformer 擅长捕捉长距离依赖关系&#xff0c;而 LS…...

Java注解

注解的底层原理&#xff1a; 注解的本质是一种继承自Annotation类的特殊接口&#xff0c;也被称为声明式接口&#xff0c;编译后会转换为一个继承自Anotation的接口&#xff0c;并生成相应的字节码文件。 注解的具体实现类是Java运行时生成的动态代理对象&#xff08;接口本身…...

Linux USB Gadget | 框架 / 复合设备实践 / Configfs 配置

注&#xff1a;本文为“Linux USB Gadget ”相关文章合辑。 图片清晰度受引文原图所限。 略作重排&#xff0c;未整理去重。 如有内容异常&#xff0c;请看原文 Linux USB Gadget 框架概述 2018-04-11 haoxing990 本文记录我在公司 Gadget 相关的驱动开发开发过程中的感悟。…...

Spring Boot之MCP Client开发全介绍

Spring AI MCP(模型上下文协议,Model Context Protocol)客户端启动器为 Spring Boot 应用程序中的 MCP 客户端功能提供了自动配置支持。它支持同步和异步两种客户端实现方式,并提供了多种传输选项。 MCP 客户端启动器提供以下功能: 多客户端实例管理 支持管理多个客户端实…...

nnUNet V2修改网络——暴力替换网络为Swin-Unet

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 Swin-Unet是一种基于纯Transformer的U型编码器-解码器架构,专为医学图像分割任务设计。传统方法主…...

【计网】ICMP、IP、Ethernet PDU之间的封装关系

TCP/IP体系结构 应用层RIP、OSPF、FTP运输层TCP、UDP网际层IP、ARP、ICMP网络接口层底层协议&#xff08;Ethernet&#xff09; 数据链路层 Ethernet报文格式 6Byte6Byte2Byte46~1500Byte4Byte目的MAC地址源MAC地址类型/长度数据FCS 其中&#xff0c;类型 / 长度值小于 1536…...

JSON 转换为 Word 文档

以下是一个在 Spring Boot 中实现 JSON 转 Word 的示例&#xff1a; 首先&#xff0c;需要在项目中引入相关的依赖&#xff0c;如 json 和 Apache POI 等。在 pom.xml 文件中添加以下内容&#xff1a; <!-- JSON 相关依赖 --> <dependency><groupId>com.fast…...

Kotlin Lambda优化Android事件处理

在 Kotlin 中&#xff0c;Lambda 表达式为 Android 事件处理提供了更加简洁优雅的解决方案。通过合理使用 Lambda&#xff0c;可以显著减少模板代码&#xff0c;提升代码可读性。以下是具体实现方式和应用场景&#xff1a; 一、传统方式 vs Lambda 方式对比 1. 按钮点击事件处…...

Springboot接入Deepseek模型

#实现功能&#xff1a;上下文对话、对话历史、清除会话 #本次提供项目源码压缩包&#xff0c;直接下载解压后导入idea即可正常使用 下载好源码后请在DeepSeek 开放平台中注册账号并充值1块余额,注意充值和API keys&#xff0c;API keys包含了秘钥&#xff0c;获取后复制到项目…...

量子跃迁:破解未来计算的“时空密码”​

引言&#xff1a;当量子比特撕裂“摩尔定律”的枷锁 根据德勤《Tech Trends 2025》报告&#xff0c;量子计算机可能在5-20年内成熟&#xff0c;其算力将直接威胁现有加密体系。这不仅是技术的跃迁&#xff0c;更是一场重构数字世界规则的“密码战争”。从谷歌的53量子比特悬铃…...

Spring MVC入门

本内容采用最新SpringBoot3框架版本,视频观看地址:B站视频播放 1. MVC概念 MVC是一种编程思想,它将应用分为模型(Model)、视图(View)、控制器(Controller)三个层次,这三部分以最低的耦合进行协同工作,从而提高应用的可扩展性及可维护性。 模型(Model) 模型层主要…...

【25软考网工】第五章(6)TCP和UDP协议、流量控制和拥塞控制、重点协议与端口

目录 一、TCP和UDP协议 1. TCP和UDP报文格式 1&#xff09;TCP传输控制协议 2&#xff09;UDP用户数据报协议 3&#xff09;TCP与UDP对比 4&#xff09;TCP和UDP类比 5&#xff09;应用案例 例题1#可靠传输服务层 例题2#提供可靠传输功能层 6&#xff09;TCP报文格式…...

如何修改 JAR 包中的源码

如何修改 JAR 包中的源码 前言一、准备工作二、将 JAR 当作 ZIP 打开并提取三、重写 Java 类方法 A&#xff1a;直接替换已编译的 .class方法 B&#xff1a;运行时类路径优先加载 四、修改 MyBatis&#xff08;或其他&#xff09;XML 资源五、重新打包 JAR&#xff08;命令行&a…...

【Linux网络】应用层协议HTTP

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/qinjh_/category_12891150.html 目录 HTTP 协议 认识 URL urlencode 和 urldecode HTTP 协议请求与响应格式 H…...

高并发架构及场景解决方案

高并发 一、什么是高并发&#xff1f; 高并发是指系统在短时间内能够同时处理大量用户请求或任务的能力&#xff0c;是衡量分布式系统、互联网应用性能的重要指标之一。它的核心目标是确保系统在高负载下仍能稳定、高效运行&#xff0c;同时提供良好的用户体验。 1、高并发系…...

[ linux-系统 ] 常见指令2

1. man 指令 语法&#xff1a;man [选项] 命令 功能&#xff1a;查看联机手册获取帮助。 选项说明-k根据关键字搜索联机帮助。num只在第num章节找。-a显示所有章节的内容。 man是 Unix 和类 Unix 系统中的一个命令&#xff0c;用于查看操作系统和软件的手册页面&#xff08;ma…...

Spring AI快速入门

一、引入依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId> </dependency> <dependencyManagement><dependencies><dependency><groupId>o…...

TCP数据报

三次握手&#xff08;Three-Way Handshake&#xff09; 是 TCP 协议中用于建立可靠连接的过程。通过三次握手&#xff0c;客户端和服务器能够确认彼此的存在&#xff0c;并且同步各自的初始序列号&#xff0c;为后续的数据传输做好准备。三次握手确保了双方在正式传输数据前能…...

JS循环-for循环嵌套

打印5行5列星星 效果图 代码&#xff1a; // 打印出5行5列的星星for(i 1 ; i < 5 ; i ) {// 外层控制打印行for(j 1 ; j < 5 ; j ) {// 内层控制每行打印几个document.write(⭐)}document.write(<br>)} 打印侧三角 效果图 代码&#xff1a; for(i 1 ; i &l…...

【技术追踪】通过潜在扩散和先验知识增强时空疾病进展模型(MICCAI-2024)

向扩散模型中引入先验知识&#xff0c;实现疾病进展预测&#xff0c;扩散模型开始细节作业了~ 论文&#xff1a;Enhancing Spatiotemporal Disease Progression Models via Latent Diffusion and Prior Knowledge 代码&#xff1a;https://github.com/LemuelPuglisi/BrLP 0、摘…...

Linux/AndroidOS中进程间的通信线程间的同步 - 内存映射

前言 如何使用 mmap()系统调用来创建内存映射。内存映射可用于 IPC 以及其他很多方面。 1 概述 mmap()系统调用在调用进程的虚拟地址空间中创建一个新内存映射。映射分为两种。 文件映射&#xff1a;文件映射将一个文件的一部分直接映射到调用进程的虚拟内存中。一旦一个文…...

单例模式的实现方法

单例模式&#xff08;Singleton Pattern&#xff09;是一种常用的软件设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这种模式在需要控制对资源&#xff08;如配置对象、线程池、缓存等&#xff09;的访问时特别有用。 一、单例模…...

laravel 12 监听syslog消息,并将消息格式化后存入mongodb

在Laravel 12中实现监听Syslog消息并格式化存储到MongoDB&#xff0c;需结合日志通道配置、Syslog解析和MongoDB存储操作。以下是具体实现方案&#xff1a; 一、环境配置 安装MongoDB扩展包 执行以下命令安装必要的依赖&#xff1a; composer require jenssegers/mongodb ^4.0确…...

如何在使用 docker-compose 命令时指定 COMPOSE_PROJECT_NAME ?

1.默认值 COMPOSE_PROJECT_NAME 环境变量的默认值并非 docker。在没有显式设置 COMPOSE_PROJECT_NAME 时&#xff0c;其默认值是运行 docker-compose 命令所在目录的基础名称&#xff08;也就是当前工作目录去掉路径后的文件夹名称&#xff09;。 以下为你详细说明&#xff1…...

在命令行终端中快速打开npm包官网

命令 npm home 命令用于快速打开指定 npm 包的官网。例如&#xff0c;npm home react 会尝试打开 React 库的官方网站。 npm home PACKAGE_NAME 该命令会首先查找指定包的 package.json 文件中的 homepage 字段&#xff0c;如果存在&#xff0c;则打开该字段指定的网址。 {&…...

鸿蒙NEXT开发动画(风格的弹性缩放加载动画组件)

1.创建空白项目 2.Page文件夹下面新建Spin.ets文件&#xff0c;代码如下&#xff1a; // 接口定义&#xff08;必须放在使用前&#xff09; /*** 关键帧动画整体配置参数*/ interface KeyframeAnimationConfig {iterations: number;delay: number; }/*** 单个关键帧动画项*/…...

【MongoDB篇】MongoDB的事务操作!

目录 引言第一节&#xff1a;什么是事务&#xff1f; (ACID 原则)第二节&#xff1a;MongoDB 的演进&#xff1a;多文档 ACID 事务的到来&#xff01;&#x1f389;第三节&#xff1a;事务的“玩法”——如何执行一个事务&#xff1f;&#x1f4bb;&#x1f91d;第四节&#xf…...

Android第六次面试总结之Java设计模式篇(一)

一、单例模式在 Android 面试中的核心考点 1. Android 中如何安全实现单例&#xff1f;需注意哪些坑&#xff1f;&#xff08;字节跳动、美团面试真题&#xff09; 解答&#xff1a; Android 中实现单例需重点关注 Context 泄漏、线程安全 和 反射 / 序列化攻击。 推荐实现&…...

关于论文中插入公式但是公式相对于段落的位置偏上应该如何调整备份

因为mythtype之前插入到word里面出现了一些问题就给删掉了&#xff0c;本来要是word里面内联mythtype的话直接&#xff0c;点击mythtype的格式化就可以了&#xff0c; 也就是这个佬的视频介绍链接 然后现在试了试普通word里面的方法&#xff0c;这个是比较有用的 然后看这个例…...

[java八股文][Java并发编程面试篇]并发安全

juc包下你常用的类&#xff1f; 线程池相关&#xff1a; ThreadPoolExecutor&#xff1a;最核心的线程池类&#xff0c;用于创建和管理线程池。通过它可以灵活地配置线程池的参数&#xff0c;如核心线程数、最大线程数、任务队列等&#xff0c;以满足不同的并发处理需求。Exe…...

【东枫科技】代理英伟达产品:智能网卡

文章目录 对比详细&#xff1a;NVIDIA ConnectX-7 适配器详细&#xff1a;NVIDIA ConnectX-6 Lx 以太网智能网卡详细&#xff1a;NVIDIA ConnectX-6 Dx 以太网智能网卡详细&#xff1a;NVIDIA ConnectX-6 InfiniBand 适配器 对比 详细&#xff1a;NVIDIA ConnectX-7 适配器 为最…...

eNSP中路由器OSPF协议配置完整实验和命令解释

本实验使用三台华为路由器&#xff08;R1、R2和R3&#xff09;相连&#xff0c;配置OSPF协议实现网络互通。拓扑结构如下&#xff1a; 实验IP规划 R1: GE0/0/0: 192.168.12.1/24 (Area 0)Loopback0: 1.1.1.1/32 (Area 0) R2: GE0/0/0: 192.168.12.2/24 (Area 0)GE0/0/1: 192.…...

解锁健康生活:全新养身指南

健康养身不是遥不可及的目标&#xff0c;而是由一个个小习惯编织成的生活方式。当我们将这些健康理念融入日常&#xff0c;就能为身体注入源源不断的活力。​ 从 “吃” 开始守护健康。尝试制作 “营养碗”&#xff0c;底层铺满羽衣甘蓝、生菜等绿叶蔬菜&#xff0c;中间搭配水…...