前言
学习mysql每个人都有自己的学习方法。大家在心中或许都想过一个问题,如何快速有效的学习mysql呢,那么你有答案了吗?或者说你根据自己的学习方法学习效果顺利吗?效果又明显吗?可以应付日常的工作吗?每到年底或经历一个项目,你对自己的成长还满意吗?这些我想每个人都或多或少有想过。其实作任意事情都是有内在的规律可循的。如同登山一般,你方法得当,用得力气就少,自己也轻松;而且朋友们还会投以羡慕的眼光。
学习方法简要
本人参加工作多年,结合项目经验及日常思考。在此简要略举一些重要的学习方法,供初学者们参考:
1.系统学习mysql官方手册。
那么自然有朋友们问,官方手册内容过于庞杂,无从下手。你其实只要多花一些时间,其内容框架是
有一定规则。比如:包括:mysql版本的新特性,mysql安装部署,mysql性能优化,mysql各种不同
技术层面的章节。数据库初学者,可以根据官方手册,依次推进,日积月累,提升数据库技能。
2.技术概念一定要动手测试。
比如:mysql中的innodb_buffer_pool,用于把数据库频繁访问的数据放在内存,提升数据库的
操作性能。通过实践,你可以进一步了解与innodb_buffer_pool相关的上下游的一系列的知识概
念。对于拓宽知识结构大有帮助,出现一些比较复杂问题,也可以从容应对。
3.对比学习数据库技术概念。
比如:mysql中的系统变量或状态变量,它的取值可能有几个,你如果单从官方手册的字面看来,只
是表面好像懂了,对于这个系统变量为何取这个默认值,而不取另外的值,不同的值适用于的具体场
景是什么,你可以通过配置不同值进行对比学习。在你测试过程之中,可以加深对于技术概念的理解。
从而整合数据库技术体系。
4.站在全局角度学习数据库。
这个可能有些不易理解和应用。比如:你在学习mysql某个概念。用mysql lock锁举例。先可以想
一想,为何产生锁,这个锁在整个数据库体系中的角色是什么,比如:行锁可以提升数据库的并发度,
这样对于业务的处理能力是很有帮助的。只要你站在一个很高的层面,才能从宏观去考虑问题。当然,
这种思维的形成,非一日之功。平时多用,对工作对技术帮助很大。
5.换位思考学习数据库。
计算机大家一看非常复杂。感觉概念太多了。门一个一个的,不知从哪儿进入。大家可以这样思考。
计算机是为我们人类服务的。它是人设计的。所以它的一些运行原理及设计思路,必然要参考我们人
类生活的一些经验。比如说:mysql中为了管理innodbbuffer pool的空间分配,它采用一些数据
结构LRU队列,队列其实就是我们日常所见或采用一种方法,采用先进先出的原理。用mysql的话说,
就是哪些内存数据先使用,就先进入这个LRU队行进行管理,后使用的先进入LRU队列。另外队列吗,
有队头和队尾。而且队列会持续可能有新人加入,则排在队尾。同样的道理,mysql内存的数据是一
样变化的。有些数据变化的频繁一些,而有些则可能很长时间不变化。所以mysql就会把经常变化的
内存数据放在LRU队列的中尾部,而把不经常变化内存数据放在LRU队列的头部。当然,LRU队列的设
计算法是比较复杂的,在此只是举个小例子。
6.分解学习。
大家不论作什么,不止是技术工作。日常生活中,你要作一件事。肯定会把这个事分成一个个小部分
来作。这种方法也可以用于学习数据库。比如:死锁分析。可能初学者有时不知如何去分析。其实有
时,比较复杂的一个问题,可能不是一下子可以解决的,不要着急。你可以把它分解为:什么是锁,
什么又是死锁,何时可能会产生死锁,死锁产生的信息一般哪些方面体现出来,比如有没有专门mysql
数据字典帮你诊断。这样一来,先去依次解决这些小问题。如果还是不明确,可以继续进行分解。直
到问题你可以解决或有思路为止。
7.重视隐式背景知识
数据库技术是一门逻辑性极强的学科或工种,不知有此感觉吗?你工作中碰到一个比较复杂的问题。
你百般思考,仍无答案。最终你网上查找或请教一个比较厉害的人,人家一说答案,你说,唉呀。
我也是这样想的,明白了。你是真的理解了吗?可能未必吧,我认为原因有几个方面:
1,你没有深入思考,你所说的明白,是跟着人家的思路在走
2,人家告诉你了答案,可能没有给你讲得特别细,很可能中间一些没有注意到
的技术概念没有讲给你,这个概念极有可能,就是你迟迟没有分析思路的根
因所在
如何解决这些问题,平时在学习数据库概念时,一定要多思考,比如:这个技术概念,为何产生,
与此相关的概念是哪些概念。这样的话,分析诊断问题时,思路才会更多更广。当然,数据库是一
系统关联学科,想掌握好,还要对于操作系统,网络,存储,虚拟机等等皆有一定的了解。才能举
一反三,融会贯通。
后记
学习数据库的方法很多。网上也有一些各种各样的文章。各是自成一家,都有存在的道理和背景。希望本文对于数据库从业者有一些帮助。
培训课件
(收费20元)
联系方式
相关文章