互联网科技

从程序员的角度深入理解MySQL

2019-12-10  本文已影响0人  码农小光

作者:张丰哲

链接:https://www.jianshu.com/p/aa1f0f29b4f8

前言

作为一名工作了4年的程序猿,今天我将站在程序员的角度以MySQL为例探索数据库的奥秘!

数据库基本原理

image

我对DB的理解

探索MySQL索引背后的原理

索引到底是什么,想解决什么问题?

Hello,B+Tree

image

MyISAM引擎的B+Tree索引结构

深入B+Tree

提几个问题:

为什么B+Tree把真实的数据放到叶子节点,而不是内层节点?

为什么我们说索引字段要尽可能短,最好是单调递增的?

为什么复合索引存在最左匹配原则?

范围查询(>,<,between,like)对最左匹配有什么影响?

想利用索引,就得“干净”

想建立索引,看看区分度

Hash索引

SQL优化神器:explain

数据表student:

image

注意复合索引(age,address)

image

符合最左前缀匹配

image

复合索引失效

OK,到这里,准备结束了,查询容易,优化不易,且写且珍惜!

上一篇 下一篇

猜你喜欢

热点阅读