[转]换个方法学习数据库

不建议按部就班的学习,因为你这么学,别人也是这么学,而每个人的理解能力,技术基础,记忆力、周边环境和自己肚皮饱饿程度都是不同的,这些要素直接影响你的学习速度。

如果大家都在同一起跑结上,使用相同的学习方法是不可取的。

自己逼自己

模拟项目学习是我个人认为最好的方法。

首先需要了解基本的语法,譬如select insert update等等。

譬如我们新建一个新闻表叫做news,里面包含id, title, content(text型),addtime, clickcount5个字段。

然后手工insert into这张表50万条数据,注意必须是50万或更多而且新闻内容必须要大。

然后做一个页面,展示某一条新闻的详细,右边边栏展示(1、相关新闻 2、人气排行 3两天内发布的新闻等各10条)

这时你会发现,取数据还真不能简单的select * from 表 where id = x,你会需要学习如何创建字段索引、如何需要在该表中加入冗余字段,你还会发现当新闻表特别大的时候,用户每点击一次新闻此时如果update这张表的clickcount时页面很慢,你的笔记本风扇很烫。

如果再复杂点的需要,你会发现用视图比较好,或者用存储过程来更新一些数据效率更高,然后你会发现新增新闻时还要使用事务才行,于是逼着你去学这些知识。

再进一步,你会发现自己做的新闻页面好丑好丑,于是逼着你去学css和html和jquery。

然后你把表中的数据扩展到200万以上,你会发现某些功能还真不是一张表可以搞定的,貌似还得了解数据库的分区甚至分表,你还学会用数据库sql查询分析器来分析哪条Sql语句占了很大性能。甚至不同的sql的语句有的比较耗内存。

于是,我个人认为你本来学1个月然后做测试项目,共需要2个月才能基本掌握数据库知识,如果同步边学边自虐的方式很可能时间要节约20%以上,并且让你掌握的更扎实。

这就是为什么有的计算机系大学毕业的学生不如其他专业转行的学生。

总结:
好的并且是赚钱的程序员大部分都是逼出来的,在这个范围内没有天才。

你可能感兴趣的:([转]换个方法学习数据库)