西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】

文章目录
-
- 概要
- 整体架构流程
- 技术名词解释
- 技术细节
- 小结
概要
整体架构
技术名词
| LGF_BitReset (FC / V3.0.1) | 复位DWORD变量中的指定位 |
| LGF_BitSet (FC / V3.0.1) | 置位DWORD变量中的指定位 |
| LGF_BitSetTo (FC / V3.0.1) | 设置DWORD变量中的指定位 |
| LGF_BitTest (FC / V3.0.1) | 判断DWORD变量中的指定位 |
| LGF_BitToggle (FC / V3.0.1) | 切换DWORD变量中的指定位 |
| LGF_IecTimerOnOff (FB / V1.0.0) | 通电断电延时功能块 |
| LGF_PulseRelay (FB / V3.0.1) | 脉冲继电器功能块 |
| LGF_GetCalendarDay (FC / V3.0.1) | 计算当前日期天数 |
| LGF_GetCalendarWeek_ISO (FC / V3.0.1) | 计算当前日期周数 |
| LGF_GetCalendarWeek_US (FC / V3.0.1) | 计算当前日期周数 |
| LGF_IsGermanHoliday (FC / V3.0.1) | 判断给定日期是否为德国节假日 |
| LGF_AstroClock (FB / V3.0.1) | 根据给定GPS左边计算日出日落时间 |
| LGF_SetTime (FB / V3.0.3) | 设定时间和时区 |
| LGF_TimerSwitch (FB / V3.1.0) | 定义时间切换点 |
| LGF_BitCount (FC / V3.0.2) | 计算DWord变量中值为TRUE的位数 |
| LGF_CountArrayElements (FC / V1.0.0) | 计算数组的原始个数从0开始 |
| LGF_CountBooleanEdges (FB / V1.0.0) | 计算特定时间内输入信号的边沿信号次数 |
| LGF_CountFalInDWord (FB / V3.0.1) | 计算DWord变量中1-0跳变的位的个数 |
| LGF_CountRisInDWord (FB / V3.0.1) | 计算DWord变量中0-1跳变的位的个数 |
| LGF_GetBitStates (FB / V1.0.0) | 计算DWord变量中上升沿下降沿的位的个数 |
| LGF_BinaryMaskCompare (FC / V1.0.0) | 通过掩码比较两个二进制数 |
| LGF_CompareLReal (FC / V3.0.2) | 通过近似公式比较两个浮点数 |
| LGF_CompareLRealByPrecision (FC / V3.0.2) | 通过近似公式比较两个浮点是否相等 |
| LGF_CompareString (FC / V1.0.0) | 比较两个字符串 |
| LGF_CompareVariant (FC / V3.0.1) | 比较两个Variant变量 |
| LGF_CalcDistance_2D (FC / V3.0.1) | 通过2维坐标计算距离 |
| LGF_CalcDistance_3D (FC / V3.0.1) | 通过3维坐标计算距离 |
| LGF_GetFactorial (FC / V3.0.1) | 计算自然数的幂数 |
| LGF_IsValueInLimits (FC / V3.0.1) | 判断给定变量在上下限设定值范围内 |
| LGF_IsValueInRange (FC / V3.0.1) | 判断给定变量在设定区间内 |
| LGF_IsValueInTolerance (FC / V3.0.2) | 判断给定变量在设定值和公差范围内 |
| LGF_NthRoot (FC / V3.0.1) | 开方功能块 |
| LGF_Random_DInt (FC / V3.0.1) | 生成Dint随机数 |
| LGF_Random_Real (FC / V3.0.1) | 生成Real随机数 |
| LGF_Random_UDInt (FC / V3.0.1) | 生成UDint随机数 |
| LGF_RandomRange_DInt (FC / V3.0.1) | 指定范围内生成Dint随机数 |
| LGF_RandomRange_Real (FC / V3.0.1) | 指定范围内生成Real随机数 |
| LGF_RandomRange_UDInt (FC / V3.0.1) | 指定范围内生成UDint随机数 |
| LGF_ScaleLinear (FC / V3.0.1) | 通过线性方程缩放输入变量 |
| LGF_SearchMinMax (FC / V3.0.1) | 寻找最大值和最小值 |
| LGF_SearchMinMax_DInt (FC / V3.0.2) | 寻找Dint最大值和最小值 |
| LGF_SearchMinMax_LReal (FC / V3.0.2) | 寻找LReal最大值和最小值 |
| LGF_SearchMinMax_UDInt (FC / V3.0.1) | 寻找UDint最大值和最小值 |
| LGF_Integration (FB / V3.0.2) | 计算曲线下的面积 |
| LGF_IsValueInToleranceByTime (FB / V1.0.0) | 判断值在给定值的误差范围内 |
| LGF_StoreMinMax (FB / V3.0.1) | 计算输入值的历史最大值和最小值 |
| LGF_MatrixAddition (FC / V3.0.1) | 矩阵加法 |
| LGF_MatrixCompare (FC / V3.0.1) | 矩阵比较 |
| LGF_MatrixInverse (FC / V3.0.1) | 矩阵反转 |
| LGF_MatrixMultiplication (FC / V3.0.1) | 矩阵乘法 |
| LGF_MatrixScalarMultiplication (FC / V3.0.1) | 矩阵缩放 |
| LGF_MatrixSubtraction (FC / V3.0.1) | 矩阵减法 |
| LGF_MatrixTranspose (FC / V3.0.1) | 矩阵变换 |
| LGF_CalcCRC16 (FC / V3.1.0) | CRC16计算 |
| LGF_CalcCRC16Advanced (FC / V3.1.0) | 先进CRC16计算 |
| LGF_CalcCRC32 (FC / V3.1.0) | CRC32计算 |
| LGF_CalcCRC32Advanced (FC / V3.1.0) | 先进CRC32计算 |
| LGF_CalcCRC8 (FC / V3.1.0) | CRC8计算 |
| LGF_CalcCRC8Advanced (FC / V3.1.0) | 先进CRC8计算 |
| LGF_CalcCRC8For1Byte (FC / V3.0.1) | 计算1字节CRC8 |
| LGF_IsParityEven (FC / V3.0.1) | 判断是否为偶校验 |
| LGF_IsParityOdd (FC / V3.0.1) | 判断是否为奇校验 |
| LGF_DataLogC (FB / V1.0.0) | 日志系统功能 |
| LGF_FIFO (FB / V3.0.1) | 先进先出堆栈操作 |
| LGF_FileRead (FB / V1.0.0) | 文件读取 |
| LGF_FileWrite (FB / V1.0.0) | 文件写入 |
| LGF_LIFO (FB / V3.0.1) | 后进显出堆栈操作 |
| LGF_ShellSort_DInt (FB / V3.0.1) | Dint变量排序 |
| LGF_ShellSort_LReal (FB / V3.0.1) | LReal变量排序 |
| LGF_ShellSort_UDInt (FB / V3.0.1) | UDint变量排序 |
| LGF_ShiftRegister (FB / V1.0.3) | LReal类型数组排序 |
| LGF_BinaryToGray (FC / V3.0.1) | 二进制转格雷码 |
| LGF_DecodeUtf8 (FC / V1.0.0) | 十进制转UTF8 |
| LGF_DTLToJulianDate (FC / V0.0.1) | DTL的日期和时间转换为儒略日期 |
| LGF_DTLToString_DE (FC / V3.0.1) | DTL的日期和时间转换为字符串 |
| LGF_DTLToString_ISO (FC / V3.0.1) | DTL的日期和时间转换为ISO字符串 |
| LGF_DTLToUnixTime (FC / V3.0.2) | DTL的日期和时间转换为UNIX时间 |
| LGF_EncodeUtf8 (FC / V1.0.0) | UTF8编码 |
| LGF_GpsDDToGps (FC / V3.0.2) | GpsDDT转Gps |
| LGF_GpsToGpsDD (FC / V3.0.2) | Gps转GpsDDT |
| LGF_GrayToBinary (FC / V3.0.1) | 格雷码转二进制 |
| LGF_IntToString (FC / V3.0.1) | Int转string |
| LGF_JulianTimeToDTL (FC / V0.0.1) | 儒略日期转DTL |
| LGF_StringToDTL_DE (FC / V3.0.1) | String时间转DTL_DE |
| LGF_StringToDTL_ISO (FC / V3.0.1) | String时间转DTL_ISO |
| LGF_StringToInt (FC / V3.0.1) | String转Int |
| LGF_StringToTaddr (FC / V3.0.1) | String转TADDR_Param |
| LGF_StringToTime (FC / V3.0.1) | String转Time |
| LGF_TaddrToString (FC / V3.0.1) | TADDR_Param转String |
| LGF_TimeToString (FC / V3.0.1) | Time转String |
| LGF_UnixTimeToDTL (FC / V3.0.1) | Unix转DTL |
| LGF_SwapBlockDWord (FC / V1.0.0) | Dword数组高低字节交换 |
| LGF_SwapBlockLWord (FC / V1.0.0) | LWord数组高低字节交换 |
| LGF_SwapBlockWord (FC / V1.0.0) | Word数组高低字节交换 |
| LGF_MergeBitsToByte (FC / V3.0.1) | 8个位组成一个字节 |
| LGF_MergeBitsToDWord (FC / V3.0.1) | 32个位组成一个Dword |
| LGF_MergeBitsToWord (FC / V3.0.1) | 16个位组成一个Dword |
| LGF_MergeBytesToDWord (FC / V3.0.1) | 2个Byte组成一个Word |
| LGF_MergeBytesToWord (FC / V3.0.1) | 2个Byte组成一个Word |
| LGF_MergeWordsToDWord (FC / V3.0.1) | 2个Word组成一个DWord |
| LGF_SplitByteToBits (FC / V3.0.1) | 将一个Byte拆分为8个位 |
| LGF_SplitDWordToBits (FC / V3.0.1) | 将一个Dword拆封为32个位 |
| LGF_SplitDWordToBytes (FC / V3.0.1) | 将一个Dword拆封为4个字节 |
| LGF_SplitDWordToWords (FC / V3.0.1) | 将一个Dword拆封为2个字 |
| LGF_SplitWordToBits (FC / V3.0.1) | 将一个Word拆封为16个位 |
| LGF_SplitWordToBytes (FC / V3.0.1) | 将一个Word拆封为2个字节 |
| LGF_ExtractStringFromCharArray (FC / V1.1.0) | 提取由前后文本指定的中间字符串 |
| LGF_ExtractStringFromCharArrayAdv (FC / V1.1.0) | 从指定位置开始提取由前后文本指定的中间字符串 |
| LGF_FindStringInCharArray (FC / V1.1.0) | 从Char数组中查找指定字符串 |
| LGF_ToLower (FC / V1.0.0) | 将字符串中大写字母转换为小写字母 |
| LGF_ToUpper (FC / V1.0.0) | 将字符串中小写字母转换为大写字母 |
| LGF_CelsiusToFahrenheit (FC / V3.0.1) | 摄氏度转为华氏度 |
| LGF_CelsiusToKelvin (FC / V3.0.1) | 摄氏度转为开尔文 |
| LGF_ConvertTemperature (FC / V3.0.1) | 将输入值转换为指定温度单位 |
| LGF_FahrenheitToCelsius (FC / V3.0.1) | 华氏度转为摄氏度 |
| LGF_FahrenheitToKelvin (FC / V3.0.1) | 华氏度转为开尔文 |
| LGF_KelvinToCelsius (FC / V3.0.1) | 开尔文转为摄氏度 |
| LGF_KelvinToFahrenheit (FC / V3.0.1) | 开尔文转为华氏度 |
| LGF_KelvinToRankine (FC / V3.0.1) | 开尔文转为朗肯 |
| LGF_RankineToKelvin (FC / V3.0.1) | 朗肯转为开尔文 |
| LGF_CosinusCI (FB / V3.0.2) | 余弦函数生成器 |
| LGF_Frequency (FB / V3.0.1) | 频率发生器 |
| LGF_Impulse (FB / V3.0.1) | 脉冲发生器 |
| LGF_RectangleCI (FB / V3.0.1) | 方波发生器 |
| LGF_SawToothCI (FB / V3.0.1) | 锯齿波发生器 |
| LGF_SinusCI (FB / V3.0.2) | 正弦波发生器 |
| LGF_TriangleCI (FB / V3.0.1) | 三角波发生器 |
| LGF_LimRateOfChangeAdvancedCI (FB / V3.0.1) | 斜波转换器 |
| LGF_LimRateOfChangeCI (FB / V3.0.1) | 输入变量变化率限制 |
| LGF_NonLinearInterpolation (FB / V3.0.1) | 插值点实现特征曲线 |
| LGF_RampCI (FB / V3.0.1) | 插值点实现速度曲线 |
| LGF_AverageAndDeviation (FC / V3.0.1) | 计算算数平方值和标准差 |
| LGF_DifferenceQuotientFC (FC / V3.0.1) | 等距采样数值微分 |
| LGF_RegressionLine (FC / V3.0.1) | 非循环计算线性平均值 |
| LGF_SimpleSmoothingFC (FC / V3.0.1) | 非循环计算平滑值 |
| LGF_SmoothByPolynomFC (FC / V3.0.1) | 多项式非循环计算平滑值 |
| LGF_Boxplot_DInt (FB / V3.0.1) | Dint数据概览 |
| LGF_Boxplot_LReal (FB / V3.0.1) | LReal数据概览 |
| LGF_Boxplot_UDInt (FB / V3.0.1) | UDint数据概览 |
| LGF_DifferenceQuotientFB (FB / V3.0.1) | 对时间上等距采样值进行数值微分 |
| LGF_FloatingAverage (FB / V3.0.2) | 计算Float类型的算数平均值 |
| LGF_Histogram_DInt (FB / V3.0.1) | 直方图显示DInt样本的频率分布 |
| LGF_Histogram_LReal (FB / V3.0.1) | 直方图显示LReal样本的频率分布 |
| LGF_Histogram_UDInt (FB / V3.0.1) | 直方图显示UDint样本的频率分布 |
| LGF_SimpleSmoothingFB (FB / V3.0.1) | 循环计算算数平均值 |
| LGF_SmoothByPolynomFB (FB / V3.0.1) | 通过多项式循环计算算数平均值 |
| LGF_IsBigEndian (FC / V1.0.0) | 检测执行系统字节数 |
| LGF_IsLittleEndian (FC / V1.0.0) | 检测执行系统字节数 |
| LGF_ActDeactDevice (FB / V1.0.0) | 监测设备连接和错误状态 |
| LGF_ReadPnInterfaceParameter (FB / V1.0.0) | 获取指定硬件的IP,MAC等信息 |
| LGF_CountFalInDWord (FC / V3.0.1) | 分析DWORD类型的变量,并输出1-0序列的频率 |
| LGF_CountRisInDWord (FC / V3.0.1) | 分析DWORD类型的变量,并输出0-1序列的频率 |
| LGF_SawTooth (FB / V3.0.1) | 通过增量和波束产生锯齿波 |
技术细节
























































































































































小结

相关文章:
西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】
文章目录 概要整体架构流程技术名词解释技术细节小结 概要 通用函数库 (LGF) 扩展了 TIA Portal 中用于 PLC 编程的 STEP 7 指令(数学函数、时间、计数器 等)。该库可以不受限制地使用,并包含 FIFO 、搜索功能、矩阵计算、 astro 计…...
IntelliJ IDEA 2023.3 中配置 Spring Boot 项目的热加载
IntelliJ IDEA 2023.3 中配置 Spring Boot 项目的热加载 在 IntelliJ IDEA 2023.3 中配置 Spring Boot 项目的热加载,可以让你在不重启应用的情况下看到代码修改的效果。以下是详细的配置步骤: 添加 spring-boot-devtools 依赖 在 pom.xml 文件中添加 …...
Python----Python高级(正则表达式:语法规则,re库)
一、正则表达式 1.1、概念 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、 regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母࿰…...
通过Ukey或者OTP动态口令实现windows安全登录
通过 安当SLA(System Login Agent)实现Windows安全登录认证,是一种基于双因素认证(2FA)的解决方案,旨在提升 Windows 系统的登录安全性。以下是详细的实现方法和步骤: 1. 安当SLA的核心功能 安…...
Node.js接收文件分片数据并进行合并处理
前言:上一篇文章讲了如何进行文件的分片:Vue3使用多线程处理文件分片任务,那么本篇文章主要看一下后端怎么接收前端上传来的分片并进行合并处理。 目录: 一、文件结构二、主要依赖1. express2. multer3. fs (文件系统模块)4. pat…...
Lsky-Pro在线图片搭建教程(Docker部署方式)
Lsky Pro+ 是一个使用 PHP 语言,采用 Laravel 框架开发的一款 Web 图片管理程序,中文名:兰空图床。如果你需要一个在线图床程序,那么这个开源项目可以帮助到你,部署流程非常简单。本章教程记录如何部署Lsky-Pro。 一、拉取镜像 docker pull halcyonazure/lsky-pro-docke…...
“深入浅出”系列之算法篇:(2)openCV、openMV、openGL
OpenCV是一个的跨平台计算机视觉库,可以运行在Linux囚、Windows 和Mac OS操作系统上。它轻量级而且高效,由一系列 C函数和少量C类构成,同时也提供了Python 接口,实现了图像处理和计算机视觉方面的很多通用算法。 OpenMV是一个开源,低成本&am…...
AI 新动态:技术突破与应用拓展
目录 一.大语言模型的持续进化 二.AI 在医疗领域的深度应用 疾病诊断 药物研发 三.AI 与自动驾驶的新进展 四.AI 助力环境保护 应对气候变化 能源管理 后记 在当下科技迅猛发展的时代,人工智能(AI)无疑是最具影响力的领域之一。AI 技…...
从CRUD到高级功能:EF Core在.NET Core中全面应用(三)
目录 IQueryable使用 原生SQL使用 实体状态跟踪 全局查询筛选器 并发控制使用 IQueryable使用 在EFCore中IQueryable是一个接口用于表示可查询的集合,它继承自IEnumerable但具有一些关键的区别,使得它在处理数据库查询时非常有用,普通集…...
【记录】Jenkins版本及JDK关系介绍的官网地址
Redhat Jenkins Packages...
vue3-json-viewer和vue-json-pretty插件使用,vue3 json数据美化展示
本文介绍vue3如何进行json数据pretty展示 1 vue3-json-viewer 1.1 安装 npm install vue3-json-viewer --save1.2 全局引入 在main.ts中引入,然后直接在组件中使用 import { createApp } from vue import App from ./App.vue import JsonViewer from "vue3…...
python转转商超书籍信息爬虫
1基本理论 1.1概念体系 网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以按照我们设置的规则自动化爬取网络上的信息,这些规则被称为爬虫算法。是一种自动化程序,用于从互联网上抓取数据。爬虫通过模拟浏览器的行为,访问网页并…...
Spring Boot 中的 InitializingBean:Bean 初始化背后的故事
在 Spring Boot 应用中,Bean 的生命周期管理至关重要。InitializingBean 接口允许 Bean 在完成属性注入后执行自定义初始化逻辑。本文将深入探讨 InitializingBean 接口在 Spring Boot 中的应用,揭示其工作原理,并分享一些最佳实践࿰…...
微信小程序:实现单选,多选,通过变量控制单选/多选
一、实现单选功能 微信小程序提供了 radio 组件来实现单选功能。radio 组件需要配合 radio-group 使用。 1. WXML 代码 <radio-group bindchange"onRadioChange"><label wx:for"{{items}}" wx:key"id"><radio value"{{it…...
MOS怎样选型,步骤详解
一:选用N沟道还是P沟道 为设计选择正确器件的第一步是决定采用N沟道还是P沟道MOSFET。在典型的功率应用中,当一个MOSFET接地,而负载连接到干线电压上时,该MOSFET就构成了低压侧开关。在低压侧开关中,应采用N沟道M…...
CMake技术细节:解决未定义,提供参数
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
1688 满足跨境业务需求而提供的一组 API 接口
1688 跨境属性接口系列是 1688 开放平台为满足跨境业务需求而提供的一组 API 接口,其中最主要的是1688.item_get : 一:1688.item_get接口 接口功能:主要用于查询 1688 商品的跨境属性,为开发者和商家提供了获取商品跨境关键信息…...
物联网网关Web服务器--CGI开发实例BMI计算
本例子通一个计算体重指数的程序来演示Web服务器CGI开发。 硬件环境:飞腾派开发板(国产E2000处理器) 软件环境:飞腾派OS(Phytium Pi OS) 硬件平台参考另一篇博客:国产化ARM平台-飞腾派开发板…...
计算机网络 (51)鉴别
前言 计算机网络鉴别是信息安全领域中的一项关键技术,主要用于验证用户或信息的真实性,以及确保信息的完整性和来源的可靠性。 一、目的与重要性 鉴别的目的是验明用户或信息的正身,对实体声称的身份进行唯一识别,以便验证其访问请…...
【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko
前言 本教程基于群晖的NAS设备DS423的docker功能进行搭建,DSM版本为 DSM 7.2.2-72806 Update 2。 n.eko 支持多种类型浏览器在其虚拟环境中运行,本次教程使用 Chromium 浏览器镜像进行演示,支持访问内网设备和公网地址。 简介 n.eko 是…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
