虽说他身怀系统自诩不凡,可还是打起了十二分精神来应付研一的课程。
时值五月中旬,这学期的课程进度早已过半。因而此间的课程对齐凡来说是没有铺垫的。
今天第一节课讲的是数据库设计与实现。
虽然前面半个多学期的课程齐凡缺失了,但并不影响他跟上进度。
上课所用的数据库是mysql 6。
至于为啥不用Oracle或者sql server。因为那两玩意儿不开源,扒不到源码,那还讲个毛的设计与实现。
讲台后头,老师讲的正起劲。
“mysql的索引可以极大提高数据查询的速度。”
“而建立索引,就相当于对数据提取快照。索引的建立没有固定的范式或者套路可循。需要根据实际的业务逻辑来做调整。”
“总之,大家要明白。索引其实就是对数据提纲挈领。就像是对一屋子的书籍,提炼出一个大纲书目。让你在找书时,可以根据大纲来查找,而不需要再跑到书架那里,一個个书架地去寻找。”
“同时呢,索引本身也可以包含一部分常用数据。”
“比方说:你需要知道某本书的简介,那你可以在做书目大纲的时候,一并把简介也做进去。这样呢,你查这本书的时候,就能直接看到它的简介,就没必要再跑去书架那里翻那本书。”
“讲到这里,同学们肯定有个疑问。既然能附带简介,那我们为什么不多附带一些内容呢。把书每一章的介绍也附上?然后你们就会发现,这会是一个没完没了的工作,到底附带多少信息才算是最合理呢。因为无限制的附带下去,这份书目大纲本身也会越来越厚。最后就会违背大纲的初衷。”
“所以说,要根据实际情况去调整索引。”
齐凡听着上头老师的讲解,感觉很好理解。因为数据库本质上就可以理解成是个超大型图书馆,使用数据库无非就是增删改查,对应图书馆中书籍的插入、拿出、挪位置。
那数据库最重要的方面。除了保证数据的安全和稳定之外,就是保证数据的快速查询。对应图书馆中对某本书的快速定位。
既然如此,那这个问题就变得很具体很形象。没啥难理解的。
齐凡不明白其他人不停记笔记的意义何在。
台上的老师仍旧在讲着。
“为了帮助同学们理解记忆,前辈们总结了一首口诀。”
“全值匹配我最爱,最左前缀要遵守;”
“带头大哥不能丢,中间兄弟不能断;”
“索引列上不计算,范围之后全失效;”
“LIKE百分写最右,覆盖索引不写*;”
“不等空值还有or,索引失效要少用;”
“字符单引不可丢,SQL高级也不难。”
齐凡看着这首口诀,心中已有体会。
其实吧,这口诀通篇都在强调一个重点--索引是脆弱的,千万不要瞎搞。
这就好比一个图书馆的书目大纲。
那大纲内容写多了会太厚,从而失去大纲的本意。写少了则内容缺失,起不到大纲的作用。
而如果编辑大纲的时候胡来,那有大纲也等于没有。
【计算机经验+10,积分+10】
许久不曾开启的系统面板又有了变化。
【AI系统:Lv0(20/100)】
【计算机:Lv1(110/500)】
【数学:Lv0(52/100)】
【硬件:Lv0】
【模型:Lv0(40/100)】
【积分:270】
本章未完,点击下一页继续阅读
>>章节报错<<