授人以鱼不如授人以渔,从根儿上理解 MySQL,让 MySQL 不再是一个黑盒。
MySQL凭借着它还不错的性能、还不错的稳定性常年稳居老二宝座,当然最大的优势就是它不要钱,还开源,这让它成为大部分中小型公司,尤其是互联网公司首选的数据库(近年来,越来越多的大公司也在尝试将业务转移到这种不要钱的数据库上来)。
越来越多的DBA
和后端同学在工作中少不了和MySQL
打交道,也经常会产生这样的疑问:
- 为什么这个SQL执行的这么慢?
- 为什么明明我建了索引但查询计划显示没用?
- 为什么我的
IN
查询里的参数一多就不使用索引了? - 为什么突然我的数据就成了乱码?
- 到底应不应该使用连接查询?
- 吧啦吧啦一大堆……
在面试中MySQL
的一些知识更成为躲不过的问题,比如索引结构、MVCC
、隔离级别的实现、锁的使用等等都成为了面试考题重灾区。
其实对于工程技术人员来说,大部分接触的所谓技术
是没那么需要智商的,只是需要讲解这些技术的同学稍微切换一个角度,切换到小白的角度而不是站在一个上帝视角去讲述问题,那些看起来非常高深复杂
的问题其实都是为了一个非常简单的初衷而不得不采用的设计。我的任务就是带着大家从非常简单的问题出发,在解决问题的路上我们会遇到一些麻烦,由这些麻烦我们会很自然的引入一些新的概念,我会不断地向大家强化这些新概念,当我确保大家已经完全掌握了这些新概念后,会基于这些新概念再引入一些更为复杂的问题。高楼大厦虽然雄伟,解构之后不过是钢筋水泥。当然这个过程我会适当给大家加点儿料、扯扯犊子,让大家像读小说一样接受这些MySQL的核心概念。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。