第二日,齐凡抱着崭新的几本教材,踏进了计算机专业研一的课堂。
虽说他身怀系统自诩不凡,可还是打起了十二分精神来应付研一的课程。
时值五月中旬,这学期的课程进度早已过半。因而此间的课程对齐凡来说是没有铺垫的。
今天第一节课讲的是数据库设计与实现。
虽然前面半个多学期的课程齐凡缺失了,但并不影响他跟上进度。
上课所用的数据库是mysql6。
至于为啥不用Oracle或者sqlserver。因为那两玩意儿不开源,扒不到源码,那还讲个毛的设计与实现。
讲台后头,老师讲的正起劲。
“mysql的索引可以极大提高数据查询的速度。”
“而建立索引,就相当于对数据提取快照。索引的建立没有固定的范式或者套路可循。需要根据实际的业务逻辑来做调整。”
“总之,大家要明白。索引其实就是对数据提纲挈领。就像是对一屋子的书籍,提炼出一个大纲书目。让你在找书时,可以根据大纲来查找,而不需要再跑到书架那里,一个个书架地去寻找。”
“同时呢,索引本身也可以包含一部分常用数据。”
“比方说:你需要知道某本书的简介,那你可以在做书目大纲的时候,一并把简介也做进去。这样呢,你查这本书的时候,就能直接看到它的简介,就没必要再跑去书架那里翻那本书。”
“讲到这里,同学们肯定有個疑问。既然能附带简介,那我们为什么不多附带一些内容呢。把书每一章的介绍也附上?然后你们就会发现,这会是一个没完没了的工作,到底附带多少信息才算是最合理呢。因为无限制的附带下去,这份书目大纲本身也会越来越厚。最后就会违背大纲的初衷。”
“所以说,要根据实际情况去调整索引。”
齐凡听着上头老师的讲解,感觉很好理解。因为数据库本质上就可以理解成是个超大型图书馆,使用数据库无非就是增删改查,对应图书馆中书籍的插入、拿出、挪位置。
那数据库最重要的方面。除了保证数据的安全和稳定之外,就是保证数据的快速查询。对应图书馆中对某本书的快速定位。
既然如此,那这个问题就变得很具体很形象。没啥难理解的。
齐凡不明白其他人不停记笔记的意义何在。
台上的老师仍旧在讲着。
“为了帮助同学们理解记忆,前辈们总结了一首口诀。”
“全值匹配我最爱,最左前缀要遵守;”
“带头大哥不能丢,中间兄弟不能断;”
“索引列上不计算,范围之后全失效;”