环境准备
我们通过Docker快速的拉取一个环境,这样子对于学习来说成本比价低。直接参照https://hub.docker.com/r/mysql/mysql-server/ 来做就好了。
1 | 快速拉取一个mysql的image |
这是我认为非常快速的一个环境搭建的方式。
数据准备
一般像Orace、MySQL这些好的软件都会提供一些官网的数据来让方便学习着来学习。https://dev.mysql.com/doc/index-about.html
那我们就下载sakila database
来学习一下。
1 | show tables; |
整体的来看一下数据的一个关系
通过Sakila了解一些索引问题
这里会有一个非常奇怪的问题,就是第一条sql竟然走了idx_actor_last_name
索引。
1 | EXPLAIN SELECT actor_id FROM actor WHERE actor_id + 1 = 4; |
可以理解为是走的B+树,叶子节点里面刚好存储的是主键,而主键刚好是actor_id,select的时候刚好是主键一个值吗?
参考地址
如果大家喜欢我的文章,可以关注个人订阅号。欢迎随时留言、交流。如果想加入微信群的话一起讨论的话,请加管理员微信号:chengcheng222e
,他会拉你们进群。