Mysql从小白到大神
文章平均质量分 92
用大白话讲解Mysql原理,以实际案例为背景阐述Mysq优化实战
慕枫技术笔记
InfoQ签约作者,阿里云专家博主,一线大厂高级开发工程师,专注Java后端以及分布式架构,分享大厂面试经验以及简历编写指导
展开
-
原来Mysql索引要这么设计才能起飞
引言相信大家都知道索引可以加快数据的查询速度,但是有时候如果索引设计不当,也可能造成索引失效而进行全表数据扫描,从而最终导致系统性能下降。因此我们在索引设计阶段就需要充分考虑各种可能情况,尽量避免由于索引设计缺陷导致的后期出现数据查询性能问题。本文总结了10个实用Mysql索引设计原则,相信在大家进行索引设计的时候可以进行参考。索引设计原则我们在数据库表设计好之后,先不要着急马上就进行表的索引设计,因为这个时候其实你也并不清楚未来在这个表上可能存在的查询条件到底是什么。所以我们需要先根据实际的产原创 2022-06-01 07:17:10 · 5229 阅读 · 67 评论 -
Mysql的explain,你真的会用吗?
数据库性能优化是每个后端程序猿必备的基础技能之一,而Mysql中的explain堪称Mysql的性能优化分析神器,我们可以通过它来分析SQL语句的对应的执行计划在Mysql底层到底是如何执行的,它对于我们评估SQL的执行效率以及确定Mysql的性能优化方向具有重要的意义。但是很多同学对于如何根据explain对已有SQL进行深度的执行分析还是丈二和尚摸不着头脑,因此本文详细阐述通过explain分析定位数据库性能问题。原创 2022-03-24 07:30:00 · 3047 阅读 · 33 评论 -
这样理解Mysql索引,阿里面试官也给你点赞
引言索引是Mysql的一块硬骨头,但是对于开发来说又是十分重要的基础技能。在平常的项目开发中,它是重要的SQL优化手段。在求职面试中,它是面试官常常用来考察求职者数据库性能优化方面的重要考量。因此透彻的掌握索引原理,并将其运用到数据库查询实战是每个程序员必备的能力。本文将从索引原理、索引设计以及如何应对索引失效等方面阐述Mysql索引。索引原理在进行索引设计以及优化之前,我们先深入理解下索引的原理。因为所有的设计以及优化一定是建立在你对原理的透彻理解的基础上。很多人都知道,在进行SQL查询时,同样原创 2021-05-29 17:12:25 · 2209 阅读 · 64 评论 -
Mysql神乎乎的MVCC到底该怎么理解
引言MVCC即多版本并发控制主要是为了解决数据库中并发事务读写的一致性问题,那么多个事务并发执行的时候事务的隔离到底是怎么实现的呢?Mysql默认的RR隔离级别是怎样避免不可重复读的问题呢?我们好好来分析一下。什么是undo log多版本链MVCC如何保证事务隔离总结一、什么是undo log多版本链Mysql的MVCC机制,以undo log版本链为实现基础。因此要理解MVCC机制,我们得先分析下undo log版本链是个什么东东。Innodb存储引擎给每个数据表都添加了三个隐藏字段:DB原创 2021-02-12 10:13:41 · 378 阅读 · 2 评论