分类: 后端通用

21 篇文章

MySQL锁
锁 行锁 Record Lock select * from user where id = 1 for update; -- 将id = 1这一行锁住 Gap Lock -- id 1 6 8 12…
有哪些方式优化慢SQL
有哪些方式优化慢SQL 查询优化: 指定列代替* join优化: 避免多表join、小表驱动大表(减少连接次数)、增加冗余字段 索引优化: 索引失效问题(索引运算、!=、%在前、最左匹配、范围查询)、…
B+树可以存储多少数据
B+树可以存储多少数据 参考文章 一个页16k, 假设一行数据为1k 假设一个主键值8byte,一个指针6byte 两层:(16 x 1024)/ 14 = 1170, 1170 x 16 = 187…
一条SQL的执行顺序
一条SQL的运行顺序 客户端 -> 链接模块 -> 解析器 -> 优化器(执行计划) -> 执行器 -> InnoDB   一条SQL查询语句的执行顺序 编写顺…
数据库与缓存的一致性
缓存一致性 先更新数据库后删缓存 问题: 并发导致缓存旧数据 解决: 设置过期时间, 适合允许一段时间内的脏数据的业务 适用场景: 排行榜、推荐系统   延迟双删 未采用的问题:除了上面的并…
分页优化
分页优化 参考文章 现在有400w条数据,要查询390w后面10条 -- 一般的分页查询 SELECT * FROM test ORDER BY id DESC LIMIT 3900000,10; -…
MVCC
MVCC 实现:undolog + 隐藏字段(trx_id, roll_prt)+ readView(活跃事务ids, 最小活跃事务id, 预分配id, 创建者事务id)只记录这一瞬间的readVie…
MySQL索引面试题
1. 如何做SQL优化 1.1 定位慢SQL 开启慢查询 slow_query_log = 1 long_query_time = x(s) 1.2 优化 1.2.1 查询优化 指定具体列代替* 1.…
Redisson常用方法
Redisson 参考: 原文链接 定义:Redisson 是一个用于与 Redis 进行交互的 Java 客户端库 优点:很多   1. 入门 1.1 安装 <!--redissio…