排序
IN 和 EXISTS 区别与优化
IN 和 EXISTS 区别与优化 基本区别 IN SELECT * FROM user WHERE id IN (SELECT user_id FROM `order` WHERE amount > 1000); EXISTS SELECT * FROM user WHERE EXISTS (SELECT 1 FROM `order` ...
Redis Stream 消息 ID 生成机制
Redis Stream 消息 ID 生成机制 Stream 消息 ID 的结构 Redis Stream 中的每条消息都有一个全局唯一的 ID,其格式为: - 例如:1700000000000-0、1700000000001-5 两部分含义 millisecondsTime...
缓存降级方案:当缓存扛不住时的求生策略
缓存降级方案:当缓存扛不住时的求生策略 什么是缓存降级 缓存降级(Cache Degradation)是指当缓存系统或后端服务出现异常、负载过高、资源不足时,主动牺牲一部分非核心功能或数据质量,以保...
日志轮转配置
日志轮转配置 为什么需要日志轮转 容器日志如果不加管理,会不断增长最终占满磁盘。日志轮转(Log Rotation)通过限制单个日志文件的大小和数量来防止磁盘空间被日志耗尽。 json-file 驱动的日...
数据持久化方式
数据持久化方式 面试题 Docker 有哪些数据持久化方式?各有什么特点? 标准答案 Docker 提供三种数据持久化方式:数据卷(Volume)、绑定挂载(Bind Mount)和 tmpfs 挂载。选择哪种方式取决于...
Docker 内容寻址存储(Content-Addressable Storage)
Docker 内容寻址存储(Content-Addressable Storage) 核心概念 Docker 使用内容寻址存储来管理镜像层。简单说:每一层的标识符(digest/hash)是该层内容的哈希值,而不是根据文件名、时间戳或...
COUNT(*) 查询的优化策略
COUNT(*) 查询的优化策略 COUNT(*) 是常见的'性能杀手' SELECT COUNT(*) FROM order; -- 全表扫描 1 亿行 对于 OLTP 系统,这种查询在数据量大时会导致严重的性能问题。 COUNT 的不同写法 -- 四...
WAL 技术(Write-Ahead Logging):预写日志的原理与优势
WAL 技术(Write-Ahead Logging):预写日志的原理与优势 概述 WAL(Write-Ahead Logging,预写日志)是数据库系统中一项核心设计思想——在将数据写入磁盘之前,先将修改记录写入日志。InnoDB ...
Server 层和存储引擎层分工
Server 层和存储引擎层分工 为什么需要分层 MySQL 将逻辑处理和数据存储分开,Server 层负责'做什么',引擎层负责'怎么做'。这种设计让 MySQL 能够灵活支持多种存储引擎,是它最大的架构优势之...
其他存储引擎 Memory / CSV / Archive
其他存储引擎 Memory / CSV / Archive 概述 除了 InnoDB 和 MyISAM,MySQL 还内置了 Memory、CSV、Archive 等存储引擎。它们在特定场景下有独特优势。 -- 查看所有支持的引擎 SHOW ENGINES; Mem...

