随笔分类 - MySQL
摘要:现象与恢复 Prometheus监控报警数据库服务器CPU一直维持在100%以上,没有丝毫下降。 重启消费MQ消息的服务,以及MySQL实例后,CPU使用率断崖式下降,系统访问正常了。 原因分析 第一时间,判断是慢查询所致。查看阿里云SQL分析工具,总扫描行数这个指标有异常,达到了亿级。并发现大量的
阅读全文
摘要:MySQL为什么有时候会选错索引? MySQL判断选择哪个索引时,这个是优化器的工作。优化器会根据扫描的行数、是否回表、是否使用临时表、排序等来判断使用索引还是全表扫描。 优化器计算扫描行数的逻辑是预估的方式 ,是通过对索引的采样统计计算出来的,所以判断的行数不准确时就会选错索引。 什么情况索引会失
阅读全文
摘要:存在以下问题 嵌套循环连接(nested loop join--NLJ) 类似于我们平时写的多层嵌套循环,这个性能受第一层循环的次数影响。一般是小表驱动大表的方式,当小表筛选后的数量很大,则性能就越低; 还有一个问题就是现在的互联网应用业务需求复杂多变,为了支撑系统的平稳迭代发展,架构设计上需要考虑
阅读全文
摘要:前言 最近在一次面试中,讨论了一个这样的问题:主键和索引有什么区别?当时我的回答是这样的:“主键就是加了唯一性约束的聚集索引。” “你确定你所说的是对的?” 面试官反问到。 “应该是对的。” 我不加思索地回答道。 “你回去后研究一下这个问题吧。” 难道我真的错了? 第一次尝试 当问题出现时,请用事实
阅读全文
摘要:一、三大范式 1.第一范式: 保证表中的 字段 的原子性(就是字段是最小的数据单元,不可再分了) 例如:user用户表,包含字段id,username,password 2.第二范式: 在第一范式的基础上,确保表中的每个字段都和主键相关(除了主键之外的其他列,都依赖于该主键) 例如:一个用户只有一种
阅读全文