基于阶梯式目标迭代的课堂教学策略研究
——以数据查询优化课程为例

2024-01-04 11:58詹英
电脑知识与技术 2023年32期
关键词:阶梯式数据库优化

詹英

(浙江交通职业技术学院,浙江 杭州 311112)

0 引言

数十年的教学方式改革,是为了努力不让一个学生掉队,努力让学生达到预期的进步。课堂学习环境和学习方式对学生是否能达到预期的目标有着很大的影响。提高学生课程的吸引力是教师一直努力的目标。为了提高学生成绩,同时需要他们心理保持健康,教师不能单纯要求学生刻苦学习,这样只会加重学生的压力和心理负担,需要通过重新设计科学的教与学的方式吸引学生来加强和加速学习。本文着眼于构想和重塑一个以最佳可用科学为依据的教与学策略,以减轻学生所经历的学习艰苦为目标,提出基于阶梯式目标的课堂教学策略,把学生学习目标设置成阶梯式递进目标,由简到难,不断创造学有收获的快乐,引导学生更深入地学习。这是一种由学生主导但由教师促进的教学法,便于把基于阶梯式目标的课堂教学策略应用于数据库查询优化课堂,迅速响应反馈学生的学习结果,让学生在学习中很快获得学习成就感,并迅速投入下一个更高目标。最后观察教学效果,为更多的课堂提供实践经验。让它更适用于数学课及科学和社会研究等课程。

1 示例课程背景

数据库具有广阔的市场空间,经中国信通院测算,2020年,全球数据库市场规模为671亿美元,其中中国数据库市场规模为35亿美元(约合241亿元人民币),占比5.2%[1]。数据库设计与开发的人才需要不断的系统性训练,形成技术积累。因此,他们不但需要积累丰富的理论知识,也需要经历大量的工程实践。目前,数据库领域产教融合的技术人才短缺,研发、测试、维护数据库的技术人员数量不足,严重影响着数据库管理与大数据分析产业的发展。数据库相关课程的教学水平需要提升。在数据库技术课程中,数据查询技术是数据库核心技术,80%的数据库性能问题由SQL导致,提高数据库查询优化技术实践能力是数据库相关储备人才所应具备的重要核心技能,有限的查询基础,无限的查询优化[2]。数据查询优化是一个有难度的实验内容,教学的难点是提高学生不断优化查询速度的能力,采用基于阶梯式目标的课堂教学策略是否可以达到激励学生不断挑战更优化的查询速度呢?

2 教学策略

2.1 示例课堂学习目标设计策略

基于阶梯式目标的课堂教学策略是把学生学习目标设置成阶梯式递进目标,为学生递进学习提供不同难度的目标。同一个信息查询要求,可以由不同的SQL 查询语句来达到同一查询目标,但速度上也会有差别,作为未来数据岗位从业人员,要思考不同的查询语句为何会有不同的查询速度,并为提高查询速度而不断优化查询技能,所以为“数据库查询优化”的课堂教学设置四个不同层次的目标。

目标1:学生的良好沟通能力,因为查询任务来源于现实用户需求,所以要充分沟通,获得可以查询的数据,实现查询需求。

目标2:使学生掌握数据库简单查询基础技术,理解和掌握关系代数。

目标3:掌握“如何优化SQL 查询效率,达到提高查询速度的目标”的方法,这个目标可以根据学生的水平,分几个阶梯小目标,查询优化技术提升无止境,只要稍微提升查询速度,学生的查询优化技能就上一台阶。

目标4:理解查询速度提速的数学原理,提升学生的创新精神。

基于阶梯式迭代目标的“查询优化”教学策略,使学生可以掌握有限的查询技术基础,达到无限的查询优化能力。教师为学生提供支持性学习资料,学生自主按需选择学习内容,在不断挑战更高的查询优化目标时,获得沟通能力、基本技术能力、优化能力、创新能力。图1呈现了基于阶梯式目标迭代的课堂教学任务层次图。有限的基础知识,无限的创新能力。

图1 基于阶梯式目标迭代的课堂教学任务层次图

2.2 教学内容的选择

目前,很多程序都要与数据库打交道,所以教学内容倾向于选择基于真实情境的案例,比如某电商购物平台,购买者需要快速得到想要的产品数据信息,或者,数据分析员需要获得电商产品销量情况。如果数据查询时间长,系统反馈数据慢,将给用户带来不好的购物体验。在一定的硬件设备下,优化数据查询策略,可以缩短获得数据的时间,同时也能够很好地向学生解释数据查询的操作性和商业价值,对隐匿在操作背后的知识点提供教学视频。例如,某电商销售数据库包含order 表,有11 个字段10 万多条记录,如表1所示。

表1 某电商销售数据表order

具有实践性的教学内容让学生在实践过程中获得与技术环境的交流互动体验,在不断反思的基础上逐渐生成实践经验。依赖授递式的教无法解决学生实践性知识之需,只有在实操中反思,才能逐渐增长实践性经验。学生在实操过程中,特别是当遭遇困难时,在寻找解决方案过程中,能学会融会贯通,捕捉灵感,在寻求解决方案中体悟技术之美。

比如,在数据查询优化课堂,高等级的学习目标提出从10万多条销售的数据中查询使用不同购物渠道的分类购物次数,如表2所示,要求达到的查询速度为1 000ms。

表2 使用不同购物渠道的分类购物次数

学生给出的查询SQL语句如下:

语句一:

学生获得查询优化的实践经验是在完成具体任务的过程中,在解决具体问题的过程中,实现“做中学”。查询速度慢的原因很多,有硬件配置原因,比如内存不足、网速慢,输入输出吞吐量小等,在硬件配置不变的情况下,主要是查询优化不够。比如,没有合理使用索引,没有合理化“计算列”,查询结果返回数据大,读写竞争资源锁定策略不合理,查询过程出现了非必需的行和列数据等。

语句一的执行顺序如下:From子句库中获取整张表的数据,Where子句选择所有非空的行,Group by子句分组,count(*)聚集函数统计行数,最后为用户返回统计结果,如表2所示。

评估分析语句一,From子句库中获取整张表的数据,由于数据量较大,需要花费较长时间,对于大的数据行进行分组要消耗大量的资源,需要查询优化。

怎样优化呢?比如索引可以提高大部分的数据查询效率。在语句一的基础上建立索引是否可以提高查询效率呢?学生尝试后很快就获知对platfrom-Type字段建立索引无法提高语句一的查询速度,语句一的查询速度不能提高的原因是什么。在实验中学习,学生的探究问题的兴趣就来了。原因是当索引列的值重复度很高时,创建索引对提高查询速度没有帮助。例如order 表中的字段platfromType 的不同取值有5个,而记录数达到10万多条,所以在platfromType字段创建索引对提高查询速度没有帮助。

教学内容的真实实践性有助于提高学生对技术的商业价值认同感,并乐于学习。

基于阶梯式目标迭代的课堂教学着眼于让学习内容难度不断递增,每次对学生提出新内容和新目标时,激发学生通过不断的探究和实验来挑战新难度,提升构建解决问题的能力。创造性思维建立在基础学习内容之上。

提高语句一的查询效率有没有新思路呢?新目标提出的同时,教师可以给出合适的提示。比如思考数据类型的选择对查询效率的影响。告诉学生查询耗时和字段值总长度成正比,学生就会思考platfrom-Type 字段的数据类型不用Char 类型,如果用Varchar是否对提高查询效率有帮助。

在学生通过实验得到肯定答复时,教师继续提出新目标:继续调整数据类型,是否可以获得更高优化效率呢?帮助学生不断思考探究实验,来比较体验查询优化的效果。从而得到选择合适的数据类型可以减少存储空间和查询时间,提高数据库查询性能的结论。比如将platfromType 字段的数据类型从字符转换为整型数据,比如整数1代表App,2代表Web 网站,3代表支付宝,4 代表微信,查询优化可以得到大幅提高。

在学生通过实验获得查询提速的同时,教师继续提出新目标,调整数据,鼓励学生取得更高的查询优化性能。适时告诉学生在where 子句中对字段进行null值判断,将导致耗时的全表扫描,询问学生是否有解决方案。启动学生的发散性思维,在实验中要考虑确保表中列platfromType 没有null 值,比如在建表结构时,设置platfromType 字段默认值为0,用0 代表null值。

创意创新也需要专业知识。当了解数据查询是如何工作的,才能开始思考如何改进数据查询的技术。例如,同样要查询使用不同购物渠道的分类购物次数,要求学生达到目标3 的查询速度为500ms。当学生开始有好奇心和兴趣时,高阶思维和深厚的基础知识可以为创新与创造提供梯子,带来更深入的理解和新的创造性成果。最终将数据查询知识应用于大数据快速分析的创造性解决方案。教师进一步提高难度,在将platfromType设置成shortint时,可以提高查询速度,但降低了数据可理解性,用户必须要额外理解数字0、1、2、3、4代表什么,当购物渠道类型增加时如何管理添加新渠道的信息,教师适时地提示增加购物平台platfrom表,如表3所示。

表3 platfrom表结构

这时查询就涉及两张表,关联查询概念被引出,在数据库中做关联查询,则可能需要重复地访问某一部分的数据。学生在掌握了数据查询的基础技术后,教师为他们准备查询需要的关系代数知识,扎实的关系代数知识为查询优化提供有力保障。

教师进一步提出新的目标:如何在实现大表order与小表platfrom进行关联查询时,不降低查询效率呢?比如拆分数据库,减小表的尺寸,在应用层做关联查询,方便进行并行访问与处理,或者分析某类查询的频率,在小尺寸数据基础上实现利用缓存来进行查询。有限的查询基础,无限的查询优化可能。随着硬件的提升,查询技术的优化,查询优化目标将会不断实现。

2.3 教学活动安排策略

教师的实践性知识往往通过教训和成功等直接经验的方式获得。同样,对学生来说查询优化实战经历可以增加查询优化经验,在教学过程中要促进学生将查询优化经验(包括失败的体验)总结出来,学生是否有体验实验、思考实验、研究实验,创新查询优化的意识,决定能否积累和生成查询优化实战性知识的关键因素。

学生自主学习探究与教师讲解相互配合,开展一对一交流辅导,使掌握不同层次的查询优化技能的学生可以自由选择尝试完成不同难度层级的学习目标,当学生的初始层次得到尊重时,他们会感到被包容并尝试去解决问题。在面对他经过跳一跳就有可能达到目标的包容的学习环境时,注意力和执行学习的能力就会加强。当学生能够积极主动地参与有意义的、有互动的教学活动中,并能够收获达到每一个目标时的快乐,如果学习就像游戏,他们就会忘掉时间,自然达到最好的学习效果。

让学生获得不同难度的指导,促进学生的经验积累,并鼓励学生主动总结经验,梳理查询优化技术的原理,实战性知识又促进他们更上一台阶。在具体教学中,教师面临随时做出解释与决策,因为,学习没有一成不变的模式,会根据千变万化的具体情境而不同。为促进学生主动深入地学习,教师需要引导学生如何学习,为他们提供练习基本技能、体验达到不同目标的快乐学习实验平台,让学生获得数据查询优化等技能。教师通过积极的反馈支持学生,在课堂中提供联系实际的数据优化任务,为学生创造引人入胜的学习体验,加上适量的挑战和支持,建立挑战新高度的毅力和愿望。鼓励学生提出问题、保持好奇心和参与探究,开发和测试假设,尝试实验,鼓励他们在失败时继续前进。告诉学生,在尝试失败后,停止再一次实验不会促进有效的问题解决。培养“失败是成功之母”的心态,尽管失败了,但仍会坚持。

比如,查询购买衣服次数或金额的最多的前1 000个客户,以方便系统为这些用户推送更多优质衣服的广告,提出达到目标2的查询速度要求为1 000ms。当学生的查询速度高于1 000ms 时,他没有达到查询优化要求,此时,教师分析学生的查询命令的执行过程,并给出提示,鼓励学生为达成目标继续找到解决方法。当某学生达到查询优化要求时,教师会提出更高的优化速度,鼓励学生继续挑战。当学生较好地掌握了低数据量的查询优化技能后,可以增加数据量,比如100亿条或者更多,继续鼓励挑战。更大的数据量更需要查询优化,为客户提供快速的数据反馈,实现商业价值。

2.4 教学评价策略

在相同的机器配置和相同的数据库系统下,不断提高查询优化标准,灵活地将教与学螺旋式向前推进,学生完成阶段查询优化目标后,会得到奖励和成绩,从而达到更高的查询优化水平。学生失败时,会给出示例性思路,鼓励他继续尝试。不管学生的优化水平如何,都会根据学生的当前优化能力,提出稍高的新要求,像游戏一样挑战适应个体的新难度。最终评价学生的查询优化提升度,给出最终的成绩。

3 教学效果

越来越多的研究为引导式或积极的教学方法提供了依据[3]。当学习体验是主动的、引人入胜的、有意义的、互动的、迭代的和快乐的,而不是被动的、分散注意力的和无意义时,学生可以很好地取得学习成果。

与传统的直接教学相比,基于阶梯式目标难度递增的课堂教学策略的优势是学习是主动的,学习是可选择的,学习是没有强制的,学习是有趣的,学习在思想上是深入的,学习内容是自适应不同水平的学生,不同技术水平的学生都会有成长。这种教学策略鼓励学生通过积极的探究过程发展起对技术的自我理解、实践、应用、讨论、质疑、探索、阐述和反思,给他们成长的时间。

当学生查询优化能力达到目标3 时,继续鼓励学生提升优化能力到目标4,目标4 往往是一个没有限制的目标,需要学生在巩固基础知识后,发挥创造性的思维,寻求创造性的新突围。基于阶梯式目标迭代的课堂教学策略不仅让学生巩固学到的知识,而且培养学生以自我为师的态度,并将这种学习能力转移到各类新技术学习中。

当学习是快乐时,学习也更有可能坚持下去。教学的情感氛围与学生学到多少有关,学生的积极学习情绪与更大学习收益有关,当学习很有趣时,则更有动力,压力更小。积极的情绪状态与好的认知表现有关[4],这些特征共同构成了主动、有趣的学习基础。

参与度或专注度与所获得学习成就有关[5]。基于阶梯式目标迭代的课堂教学策略的优点,将在查询优化课堂中得到验证,在在线学习平台上,积极参与并重复浏览数据查询知识点的学生,都获得了很好的学习效应量[6]。重复度高的学生可以定义他们有更高的专注度和兴趣,重复度达到1.5的学生100%获得高学习效应量。

4 总结

提升课堂实践是困难的,它需要教师、学校管理者提供支持适合课堂教学策略发展的平台。比如,在规划查询优化的课堂教学时,需要怎样的教学策略才能促进学生的查询优化技能。基于阶梯式目标迭代的课堂教学策略将真实实践转化为难度台阶式递进的课堂实践,让学生积极参与有意义的知识迭代和快乐的技术探索体验。教育的目标是不断满足学生的全面成长需求。就如在数据查询优化课堂,要培养数据管理的人才,需要一步一个脚印,不走捷径,从实践中出真知,创新意味着需要不断失败和坚持实验,才能让国家掌握数据库领域的话语权,为国育才。

猜你喜欢
阶梯式数据库优化
超限高层建筑结构设计与优化思考
一道优化题的几何解法
探讨个体化阶梯式疼痛管理模式在肿瘤晚期患者中的应用效果
探索学时积分制 构建阶梯式成长激励体系
普通高中音乐鉴赏模块阶梯式教学法的探索