MySQL 单表访问方法详解:高效查询之道 核心思想: MySQL 执行单表查询的目标是尽可能高效地从表中获取所需数据。访问方法(Access Method)决定了 MySQL 如何扫描表中的记录,是全表扫描还是利用索引,直接影响查询性能。理解并选择合适的访问方法是查询优化的基础。
B+ 树索引 (InnoDB 存储引擎)机制 引言: 在海量数据中快速定位所需信息,是数据库性能的关键。InnoDB 存储引擎默认使用 B+ 树索引,这是一种为磁盘或其他直接存取辅助设备设计的高效数据结构。理解 B+ 树索引的原理和机制,是掌握 MySQL 性能调优的基石。
InnoDB数据页结构 一、数据页基础概念 页大小:InnoDB默认页大小为16KB,是存储管理的基本单位。 页类型:包含索引页(数据页)、Undo页、系统页、Inode页、IBuf页等,本文聚焦 索引页(数据页) ,用于存储表记录。 FIL_PAGE_UNDO_LOG: Undo Log 页,用于存储事务回滚所需的信息。 FIL_PAGE_INODE: Inode 页,用于存储段(Segment)的元数据信息。 FIL_PAGE_IBUF: Insert Buffer 页,用于缓存对二级索引的插入操作。 FIL_PAGE_TYPE_ALLOCATED: 新分配但未使用的页。 二、数据页核心 …
InnoDB记录结构深度解析 一、InnoDB存储基础单元:页(Page) 页大小:默认16KB,是InnoDB磁盘与内存交互的基本单位。 页作用:所有数据读写操作以页为单位,避免频繁磁盘IO,提升性能。 二、行格式(Row Format) InnoDB提供4种行格式:Compact、Redundant、Dynamic、Compressed。核心区别在于数据存储方式和溢出处理机制。
JVM内存管理与垃圾收集器上手实践 1. JVM内存结构 1.1 堆内存(Heap) 年轻代(Young Generation) Eden区:新对象分配的区域 Survivor区(From和To):存活对象在年轻代中的中转站 老年代(Old Generation):长期存活的对象 1.2 非堆内存 方法区(Method Area)/元空间(Metaspace):存储类信息、常量、静态变量等 程序计数器(Program Counter Register):记录当前线程执行的字节码位置 虚拟机栈(VM Stack):存储局部变量表、操作数栈等 本地方法栈(Native Method …
MySQL的字符集和比较规则是其处理字符串存储、传输及比较的核心机制,以下为详细整理: 一、字符集(Character Set) 定义 字符集是字符与二进制数据的映射规则,用于编码(文字→二进制)和解码(二进制→文字)。 常见字符集包括ASCII、GB2312、GBK、UTF-8等。MySQL中UTF-8分为utf8mb3(1-3字节)和utf8mb4(1-4字节),后者支持更广泛字符(如Emoji)。 级别设置 MySQL支持四个级别的字符集配置:
Java内存管理与调优实践 第一章:内存泄漏分析(MemoryLeakDemo) 1.1 实验环境 # JDK版本 java version "11.0.25" 2024-10-15 OpenJDK Runtime Environment (build 11.0.25+8-post-Ubuntu-1ubuntu122.04) OpenJDK 64-Bit Server VM (build 11.0.25+8-post-Ubuntu-122.04, mixed mode, sharing) # 操作系统 WSL2 (Ubuntu 22.04) 1.2 示例代码 package …
JVM基础知识与调优指南 1. JVM内存结构 1.1 堆内存(Heap) 年轻代(Young Generation) Eden区 Survivor区(S0和S1) 老年代(Old Generation) 1.2 非堆内存 方法区(Method Area)/ 元空间(Metaspace) 程序计数器(Program Counter Register) 虚拟机栈(VM Stack) 本地方法栈(Native Method Stack) 2. 常用JVM参数 2.1 内存相关 # 设置堆的初始大小 -Xms<size> # 设置堆的最大大小 -Xmx<size> # 设置 …
Logback通用日志字段加密探讨 前言 在企业级应用中,日志中经常包含敏感信息(如手机号、身份证号、银行卡号等),这些信息如果明文存储可能会带来安全风险。本文介绍一个基于Logback的通用字段加密的解决方案。这个解决方案实现了指定加密字段,指定或自定义加密方式,可使用全局或局部生效的方式。解决了自己实现日志包装类时导致日志定位错误的问题。