MySQL学习笔记(六):小结一下(废话一下)

这次的学习笔记其实还是比较少的,才短短的五篇,简单地涉及了一下MySQL基础、数据类型、索引和三大范式,离完完整整的MySQL还差得远呢。虽然感觉很可惜,学了一通MySQL,但是留下的记录并不多,但是最近事情还是不少的,能拿出来学习并且细细地记下笔记还是很不容易的,只能是且学且珍惜了。

经过这几天的学习,越发觉得MySQL真的是一门学问,以前刚刚接触后台的时候,以为数据库就是很简单的增删改查就没了,跟别人说起来也是一副很自大的样子,现在想想真是惭愧啊,年少无知呀。如果真的要把MySQL给学好,那还真的得花大功夫。这次我写的学习笔记其实只是MySQL当中的很少一部分,一来是时间紧张,没办法把所有东西都整理成笔记;二来是之前很多知识已经学过了,这次碰到了只是草草略过;三来是还有很多知识需要深入学习理解,不是三两天就能学完的,这部分就留到以后有机会了再去学习吧。

既然如此,就给我眼中的MySQL知识分个三六九等,以后有机会了再去好好学习吧!

首先是基础知识,即在日常开发中一定得掌握的:
1、数据类型:数据类型不论是在哪个领域都是重中之重、基础中的基础了,在MySQL中也一样,虽说可能有专门的人去设计数据库了,但是和相应类型的字段打交道仍然是我们的日常。
2、简单的SQL:包括单表、多表操作,会使用MySQL中的函数。虽说我们基本上都是在框架上进行开发,对数据库的操作也基本上都是封装好了的,用到原生SQL的机会并不多,但是以我的经验(虽然尚浅)来说,掌握原生SQL是非常非常有必要的,就像没学过走路就去跑步一样。

接下来是进阶知识,能够帮助我们更好地完成工作。
1、SQL优化:很多时候,仅仅是完成任务还远远不够,我们还需要考虑自己写的代码是否合理,比如很多新手都会拿一次数据就往数据库插入一次,而不是全拿到了再一起插入;再比如说多重循环等等问题,这些都是我们需要优化的。
2、学会使用索引:索引真的是一把双刃剑,尤其是在这次的学习之后,我才认识到索引有多么的重要。很多时候,我们建完索引就以为完事了,丢在那里不管了,但是一不小心就没能把索引利用起来。索引不像我们以为的那么容易使用,但是正确地使用了它之后,对查询性能的提升真的是非常恐怖!

最后是深度学习!等精通了这些知识,基本上就能跑去当DBA(DataBase Administrator 数据库管理员)了。
1、数据库设计:包含数据类型、表结构,索引、约束、视图、触发器、存储过程和函数的设计和使用,用户与权限的控制等等,很多时候,像是否使用外键约束、视图和触发器这些东西,不是由一两个程序员决定的,这些的滥用会导致后期维护变得复杂,应当有一个经验老道且精通MySQL的人来决定。
2、SQL优化:需要通过慢查询日志,找到那些花很多时间的操作,并且想办法优化他们,以及确保索引有被良好地设计和使用。
3、数据库维护:当项目越来越大的时候,还需要对数据库进行定期的维护,包括数据的定期维护和备份,以及查看日志,排查错误;当数据量越来越多的时候,还需要考虑是否需要对数据库进行分区、分表操作,以及对存储引擎的选择等等。

另外,MySQL是开源数据库,如果真的要精通它,还得去研究它的源码,去弄明白各种存储引擎的实质性区别,去搞清楚各种索引的实现和算法,去研究事务是如何实现的,等等等等,无穷无尽。如果真的学到了这种水平,那真的就是大神了!

好了,这次对MySQL的学习就算是告一段落了,当然还只是浅尝辄止,离真正掌握还远着呢,只是勉勉强强够用罢了,只可惜能力一般水平有限,等以后需要了再去学习吧!

发表评论

邮箱地址不会被公开。 必填项已用*标注