作者网名丁奇,前阿里资深技术专家。

数据库是一个综合性的系统,其背后是发展了几十年的数据库理论。也许你会觉得数据库并不难,因为你可以熟练地写出 SQL,也可以在各个客户端里玩得游刃有余。但就以最常见的 MySQL 为例,作为程序员,你在使用 MySQL 的过程中,是不是曾经遇到过类似的问题:

  1. 为什么我的 count(*) 查询这么慢?

  2. 为什么我建立了索引,但却根本没有效果?

  3. 为什么我只查一行的语句,执行速度也这么慢?

  4. MySQL 对于大表要怎样进行优化?

之前,你大概都是通过搜索别人的经验来解决问题。你有没有想过,如果能够理解 MySQL 的工作原理,那么在遇到问题的时候,是不是就能更快地直戳问题的本质?比如说,知道了索引的实现原理,那遇到索引问题的时候,你是不是就能从原理的角度,推断可能的解决方案?

这本书将会以实战中的常见问题为切入点,带你剖析现象背后的本质原因。更重要的是,这本书还将通过几条主线为你串起各个零散的知识点,再由线到面带你构建 MySQL 知识体系。

读后感:MySQL作为主流数据库之一,跟我熟悉的MSSQL、MongoDB等,又确实有所区别。但是作为原理性分析的书籍,透过了解其被使用的最多的存储引擎InnoDB、以及具备通用性的索引思路和查询优化,能够使得我们从原理设计的角度,获得更多的思考,从而举一反三,在其他类型的数据库中也得到收获。