MySQL 单表五亿行实测:加载、索引、读写延迟与 PostgreSQL 对照
MySQL 单表五亿行实测:加载、索引、读写延迟与 PostgreSQL 对照 上一篇在同一台桌面机上做了 PostgreSQL 单表五亿行实验。这次沿用相同的订单字段、数据规模与业务场景,换成 MySQL 9.7.1,再走一遍小样本校准、全量加载、建索引、数据验证和读写压测。 五亿行种子数据已完成
在一台桌面机上,给 PostgreSQL 塞进 5 亿行订单
在一台桌面机上,给 PostgreSQL 塞进 5 亿行订单 PostgreSQL 18.6 · 单张非分区表 · 16 并发 · 开启持久化 · 2026-09-14 实测 作者:Hanserwei。代码与完整结果:pg-single-table-bench。本文所有性能图表来自仓库的原始结果,不
Spring Boot 4.x 整合 MyBatis-Plus
Spring Boot 4.x 整合 MyBatis-Plus 本小节中,我们来为后端服务整合数据库持久层框架 —— MyBatis-Plus ,实现对数据库的增删改查。 1. 什么是 MyBatis ? MyBatis 是一个用 Java 编写的持久层框架,它简化了数据库交互的过程,将 SQL 语
MySQL常见面试题
MySQL常见面试题 :泡泡_滑稽::泡泡_啊: 如何定位慢查询 解决方案 使用成熟的开源工具: 调试工具:Arthas 运维工具:Prometheus 、Skywalking MySQL自带的慢日志(调试阶段开启,生产阶段关闭) 慢查询日志记录了所有执行时间超过指定参数(long_query_ti
Redis面试常见题
Redis面试常见题 缓存穿透 定义:查询一个不存在的数据,DB查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库(如果有人恶意攻击,会击垮数据库)。 解决办法: 缓存空数据,查询返回的数据为空,仍然把这个空结果进行缓存 优点:实现简单。 缺点:消耗内存,可能发生数据不一致的问题 使用布隆过
Mysql和Redis双写不一致问题怎么解决?
Mysql和Redis双写不一致问题怎么解决? 在后端面试中,只要简历上写了 Redis,这道题是 100% 必问的: “怎么保证缓存和数据库的数据一致性?” 很多同学上来就背八股文:“延时双删、加分布式锁…” 但在面试官眼里,这道题考的不是死记硬背,而是你有没有处理过真实的线上事故。 因为在生产环
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版) #!/bin/bash
# ================================================
# Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
# ========================
聊聊@Transactional注解和事务的使用
聊聊@Transactional注解和事务的使用 @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,不然你会发现@Transactional总是莫名其妙的就
MyBatis 详细使用说明文档:从环境配置到复杂查询的全面指南
MyBatis 详细使用说明文档:从环境配置到复杂查询的全面指南 引言 MyBatis 是一个一流的持久层框架,专为简化 Java 应用程序中的 SQL 操作而设计。它支持自定义 SQL、存储过程和高级映射,旨在消除大部分 JDBC 样板代码,并实现参数的自动设置及结果的自动检索。与传统的全功能对象
MySQL的最左原则
MySQL的最左原则 一、简述 MySQL索引的最左原则指的是,当使用多列索引时,MySQL会优先使用索引中最左边的列。如果查询条件中包含了索引的最左列,那么MySQL会使用这个索引来加速查询。 更具体的描述:建立一个索引,对于索引中的字段,mysql会一直向右匹配直到遇到范围查询(>、<、betw