分库分表


1. 为什么需要分库分表不管是 IO 瓶颈,还是 CPU 瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务 Service 来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1.1 IO 瓶颈磁盘读 IO 瓶颈,热点

数据一致性问题


参考文档:缓存和数据库到底先写哪个?1. 引出问题在数据库和缓存一致性问题上,有以下几个操作先删缓存,再更新数据库先更新数据库,再更新缓存先更新数据库,再删缓存第一种方式这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出

mysql explain


参考文献:MySQL Explain详解1. 介绍explain 可以查看 sql 语句的执行计划,有没有用到索引。-- 实际SQL,查找用户名为Jefabc的员工select * from emp where name = 'Jefabc';-- 查看SQL是否使用索引,前面加上explain即可

mysql 索引


参考文献:MySQL索引原理以及查询优化mysql - 降序索引mysql覆盖索引与回表1. 介绍1.1 什么是索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显