核心:有个总体认知,熟练掌握各种常规用法。
每个开发人员跳入这个行业,最先接触的往往是开发语言,至于DB只是挂载。
其实真正的项目会发现一个问题,系统是以业务数据为核心的系统,而web语言只是用于做数据运算和人机交互的。
如果能快速了解整个系统的数据结构和数据流,基本就掌握了业务系统的核心。
目前遇到的开发人员在db层面最大的区别在于,有些是以oracle为主要应用的开发人员,有些是以mysql为主要应用的人员。
因为种种限制,后续很多项目不再使用重载的oracle,又换数据库mysql。
oracle最大的缺点是贵,当我们从oracle转向mysql的时候,使用不在那么随意,可能几千条数据的表都会出现性能问题。
现在要玩转mysql,核心其实就需要玩转如下几点:
1、web开发人员先定位为不做DBA,不需要太深入底层,除非有更多的应用需要。
2、掌握各种sql的写法。
3、精准快速的使用mysql的api。
4、了解mysql和oracle的区别,在应用开发中无障碍,性能尽可能有保障。
知道和会是两码事
开发之初我们往往可以快速的掌握一些知识,兴高采烈的实现功能,而往往随着业务的进行,数据量的增加,系统逻辑的不停迭代,随之而来的是越来越多的问题,甚至有人因为一条sql被开除。
设计决定了系统能走多远,当然做HW项目基本没设计,业务量上去就是大量的运维工作。因为随意开发,不可维护是常态。但是真正想做技术的,数据结构涉及是一个核心,静态表和动态表要想清楚,业务扩展量要想清楚,表的原子性需要注意,并且是否需要归档也很重要。
自我警戒。