知识模块
☕ Java 知识模块
七、数据库与JDBC
概述

七、数据库与 JDBC

数据库是后端开发的核心,掌握事务、索引、连接池等知识点对面试和实际工作都至关重要。✅ 章节已全部完成

本章内容

事务与隔离

索引优化

  • 数据库索引 - B+ 树结构、聚簇索引、联合索引、索引优化原则 ✅

JDBC 与 ORM

连接池

分页优化


📊 完成进度

分类已完成总数进度
数据库与 JDBC66100%

知识图谱

数据库与 JDBC
├── 事务
│   ├── ACID 特性
│   ├── 隔离级别
│   │   ├── READ UNCOMMITTED
│   │   ├── READ COMMITTED
│   │   ├── REPEATABLE READ(MySQL 默认)
│   │   └── SERIALIZABLE
│   └── MVCC
│       ├── undo log
│       └── Read View
├── 索引
│   ├── B+ 树
│   ├── 聚簇索引 vs 非聚簇索引
│   ├── 联合索引(最左前缀)
│   └── 索引失效场景
├── JDBC
│   ├── Statement vs PreparedStatement
│   ├── SQL 注入防护
│   └── 批量操作
├── MyBatis
│   ├── 一级缓存(Session 级别)
│   ├── 二级缓存(SessionFactory 级别)
│   └── 缓存失效时机
├── 连接池
│   ├── HikariCP(Spring Boot 默认)
│   ├── Druid(监控功能丰富)
│   └── 核心参数配置
└── 分页
    ├── LIMIT 原理
    ├── 深分页问题
    └── 优化方案

面试高频题

  1. 事务隔离级别有哪些?MySQL 默认是什么?
  2. MVCC 是如何实现的?
  3. 为什么 MySQL 使用 B+ 树而不是 B 树?
  4. 什么是聚簇索引和非聚簇索引?
  5. 联合索引的设计原则?
  6. 索引什么情况下会失效?
  7. PreparedStatement 为什么能防止 SQL 注入?
  8. MyBatis 一级缓存和二级缓存的区别?
  9. HikariCP 为什么比其他连接池快?
  10. 深分页问题如何优化?

推荐阅读