[回顾MySQL]思维导图


转眼工作好几年了,MySQL一直是主力数据库;现在梳理一下自己MySQL方面的知识汇总成文。本文作为开篇主要是一张思维导图,后续文章将一一展开图中的个个知识点。

img

体系架构

结构组成

主要介绍MySQL服务器的组成组件和各部分的组件职责。

动态结构介绍

查询请求是服务器主要的负载,这部分从一条Query SQL的执行过程介绍各个结构组件的作用及相关关系。

存储引擎

MySQL被设计成插件式体系架构,插件式的存储引擎也是MySQL服务器区别于其它服务器的一个重要特征。本部分将比对介绍各个存储引擎的差异并解析各个对比指标在实际应用的中的意义,最终着重介绍选择InnoDB引擎的几个理由。

MySQL程序及管理工具

将介绍MySQL服务器自带的程序及管理工具。

优化

SQL语句优化

本部分主要介绍一个SQL语句上的性能差异。

库结构优化

一般的程序员关心语句,好的程序员关心数据结构。一个好的库表结构设计能给性能带来巨大的益处,本部分将介绍一些库表结构上的性能差异。

索引优化

索引是提升效率的主要途径,一个好的索引能成倍的提高查询性能;但是一个坏的索引也可能给插入更新带来严重的效能消耗。索引基本是程序人员在数据库方面需要最精进的部分,这里会比较详细的介绍对比各种索引的情况,这里主要参照InnoDB引擎的索引进行介绍。

MySQL是插件式的!索引服务是由存储引擎决定的!

针对InnoDB引擎优化

将介绍一个关于InnoDB引擎的一些优化。

锁优化

MySQL细节的锁管理由存储引擎实现的,锁一直是性能的杀手但是锁又是无法避免的。因为锁的情况受不同的隔离级别、不同的查询条件、MVCC等复杂条件的影响,这部分是非常难以掌握和理解的,这也是MySQL进阶的一个标志。这里将细节的阐述一些锁优化相关的内容,主要还是参考InnoDB引擎来介绍。

缓存优化

缓存无处不在在MySQL中也一样,高命中率的缓存将大大提升服务器的查询性能。

查询优化器

一条SQL只要正确执行了就能得到正确的执行结果,但是不同的执行方式却可能有巨大的性能差异。理解MySQL查询优化器,使SQL语句更加契合优化器的习惯,将大大的提升程序性能。

应用

作为程序员最关注的还是怎么用好MySQL,这部分重要从应用的层面去介绍MySQL。包括了JDBC、连接池、SQL语言、横向扩展MySQL的应用适配内容。

数据库原理

这部分将着重讲解一些数据库组成原理的基础学科内容,这将能帮我们更加好的理解MySQL。

高可用运维

本人并不专注运维,但是在生产环境中做一些操作并不可以采用简单的SQL完成;这里介绍一些高可用运维发面的内容也是希望抛砖引玉让大家有一些了解工业应用和Demo是有本质区别的

面试那些事

最后和大家聊聊面试中常常遇见的一个问题,毕竟这是大家升职加薪最快的通道之一。

本文采用CC BY-SA许可发布,您可以自由的转载分享。

转载请保留出处 BeanMr.
http://blog.beanmr.com/2016/06/13/about-mysql-mindmap/