首页 > 美文随笔 > 心情日志 > 课程总结日志

课程总结日志

时间:2016-05-19   来源:心情日志   点击:

【www.gbppp.com--心情日志】

课程总结日志(一):学习日志总结_初级

1. 性能优化

a) SQL写法方面:在索引列上避免使用计算、改变类型和使用效率较高的操作符。例如:避免使用*号和NOT,查询表顺序先小后大表(FROM后从右至左处理,from表顺序从右往左表大小依次递增)链接,使用表的别名,减少对表的查询,WHERE后条件的顺序,用EXISTS代替IN,用大于或小于代替不等于,用>=代替>,用右模糊查询(LIKE ‘…%’)代替模糊查询,用UNION ALL代替UNION,union代替or,用truncate代替delete等 b) 设计方面:建立索引;用并行取代串行如数据迁移(并行是多个线程或进程同时处理,串行等待某个进程结束后再进行下一个进程,通过指定/*+parallel(a,并行数)*/,通过多个CPU和I/O处理一个数据库操作);使用临时表处理中间运算过程

c) 性能分析方面:通过查询v$session_wait视图,识别性能瓶颈,纠正存在的问题(动态视图列出造成会话session等待事件);看执行计划(set autotrace traceonly、explain plan for…select * from table(DBMS_XPLAN.display(null,null,’BASIC+PARALLEL’)))定位慢的位置进行优化;使用hints提示查看路径来改变执行计划;定期进行表分析;选用适合的ORACLE优化器:RULE(基于规则)、COST(基于成本)、CHOOSE(选择性),在缺省情况下,ORACLE采用CHOOSE优化器,为了避免那些不必要的全表扫描,必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器

2. 索引

a) 数据量大的表,主键,字段唯一约束,查询条件约束字段,查询中与其它表关联字段(外键关系),查询中排序字段,查询中统计或分组的字段需建立索引。组合索引(多个字段)一定要用引导列(组合索引中的第一列),最好少用组合索引增加系统开销 b) 表的记录少,经常处理(插入、删除、修改)的表在查询允许的情况下,数据重复且分布平均的表字段不适合建立索引

3. 数据库设计

a) 三范式:一每一列不可再分,二每条记录唯一性(依赖主键),三表中不包含已在其他表中包含的非主关键字(不依赖于其它非主属性),例:存在一个部门信息表有字段部门编号、部门名称、部门简介,那么在员工信息表中列出部门编号后就不能再有部门名称和部门简介字段避免数据冗余。

b) 在设计大型数据库时把允许为NULL的列放在表的后面,养成写注释的习惯(comment),选择合适的数据类型和长度

c) 建数据库用到建模工具(power designer)建立E-R图,建立主键和外键关系,建立索引,产生建表语句建立数据库

4. 动态SQL

a) 静态SQL语句指在PL/SQL块中使用的SQL语句在编译时是明确的,执行确定的对象 b) 动态SQL语句在编择时SQL语句不确定,根据用户输入不同的参数执行不同的操作,

编译程序对动态语句部分不进行处理,只在程序运行时动态的创建语句并对其进行语法分析和执行,本地动态SQL是使用execute immediate语句来实现,另可使用DBMS_SQL包实现如:先将要执行的SQL语句或块放到一个字符串变量中,用parse过程分析该字符串,用bind_variable过程绑定变量,最后用execute函数执行

5. 记录类型

a) RECORD把逻辑相关的资料作为一个单元存储,用%type和%rowtype动态指定,type type_name is record(name 表名.字段%type)

b) 自定义记录类型每个字段类型和表字段相同,且类型已指定,执行性能好。缺点:表字

段类型修改后,需要修改记录类型字段。

c) 动态指定记录类型好处:表字段发生变化记录字段自动改变。但每次执行前遇到%type

或%rowtype数据系统会去查看对应表字段类型会造成一定的开销。

6. 自治事务

a) 自治事务AT是相对于主事务MT的一个独立事务,当运行到AT块时,MT被挂起,必

须等AT中显示的commit或rollback后才会恢复MT,常用于记录日志等

b) 在大型开发中,自治事务可以将代码更加模块化,失败或成功时不会影响调用者的其它

操作,代价是调用者失去了对此模块的控制,且模块内部无法引用调用者未提交的数据 c) 自治事务是由父或主事务启动的,独立于其父事务进行操作。如果在自治事务或主事务

中使用了回滚或提交,或者发生了错误不会影响其他事务

d) 使用pragma autonomous_transaction创建 7. 锁

a) 锁出现在数据共享场合,用来保证数据的一致性。多个会话同时对一个表或记录进行操

作时需对数据锁定

b) 行锁select…for update *wait n+ *skip locked+,wait字句指定等待其它用户释放锁的秒数,

防止无限期等待,优点:防止无期限等待被锁行;允许应用程序中对锁的等待时间控制;对交互式应用程序非常有用,用户不能等待不确定;若使用skip locked则可越过锁定行,不会报告有wait n引发的‘资源忙’的异常报告

c) 表锁Lock table 表名 in <mode>:有share mode共享;share update mode共享更新;

exclusive mode排他

8. 游标

a) 显式游标:在PL/SQL程序中CURSOR…IS定义,它可以对查询语句返回的记录进行处理,

用时需要定义、打开、使用和关闭,游标属性的前缀是游标名,有%FOUND、%NOTFOUND、%ROWCOUNT、%ISOPEN,可以处理多行数据,在程序中设置循环取出每一行数据

b) 隐式游标:非PL/SQL程序中定义,在PL/SQL中使用insert/update/delete语句时,oracle

【课程总结日志】

系统自动分配的游标,不需要打开和关闭,游标属性的前缀是SQL,%ISOPEN总是false,select…into语句,只处理一行数据

9. 包【课程总结日志】

a) 通常package有头和主体,需要被外部调用的程序及变量在包头中声明

b) 包需要定义一个常量记录包的名称,定义三个全局变量(一个存放函数名,另两个为异

常变量),定义一个通用捕捉异常的程序,定义一个抛异常程序

c) 规范对程序功能、参数及编程人员信息时间等加注释说明

d) 异常处理传进的参数以pi开头命名,传出的参数以po开头命名,每个异常增加一个异

常参数

e) 事务完整性:子程序不能有commit;锁表后不能进行commit否则锁表失败;通常在主

程序的最后进行commit,也要看业务关联性;给form或java调用的包,commit写的form或java中,workflow同理;如果有写日志,在异常处理中先rollback然后更新日志再commit

f) 将相同业务逻辑功能块写在一个函数或过程中,如果在FORM中调用PACKAGE,最好在

包中额外写一个子过程,供前台FORM调用

g) 存储过程细分到小功能比较好,功能独立容易维护

10. 异常

a) 异常分为内部和用户自定义异常pragma exception_init(name,-number)两种。内部异常由

PL/SQL自动抛出,自定义异常通过raise抛出,RAISE_APPLICATION_ERROR(ERROR_NUMBER,ERROR_MESSAGE[,TRUE/FALSE])错误号范围是-20000到-20999,TRUE/FALSE是将错误添加(TRUE)进错误堆还是覆盖(FALSE),缺省情况下是FALSE

b) 常用异常有no_data_found,too_many_rows,values_error,others等

c) Others异常是不可少的

d) 异常处理:exception when … then

11. 视图

a) 物化视图是包括一个查询结果的数据库对象,它是远程数据的本地副本,或者用来生成

基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。

b) 物化视图提供了可伸缩的基于(with primary key|rowid)主键或ROWID的视图,指定了

刷新模式ON DEMAND用户需要时进行刷新,ON COMMIT对基表的DML操作提交时刷新、刷新方法(refresh fast|complete|force)、自动刷新的时间(start with date)和间隔(next date)

c) 物化视图和普通视图的区别:物化视图用于预先计算并保存表连接或聚集等耗时较多的

操作结果,普通视图查询时在嵌套子查询后去查询原表;物化视图对应用透明,增加和删除不会影响程序中的SQL语句,普通视图会影响原表数据;物化视图需占用存储空间,普通不用;当基表发生变化时,物化视图需刷新,普通不用。

12. 左右连接

a) +号放在等号右边为左连接,右连接相反

b) +号对面的表为主表,所在边为从表,以主表查询结果为主,没有与从表匹配的字段显示为NULL

13. 大小表查询顺序

a) ORACLE在解析sql语句的时候对FROM子句后面的表名是从右往左解析的,是先扫描最右边的表,然后在扫描左边的表,然后用左边的表匹配数据,匹配成功后就合并。 所以,在对多表查询中,一定要把小表写在最右边,为什么自己想想就明白了。例如下面的两个语句:

--No.1 tableA:100w条记录 tableB:1w条记录 执行速度十秒

select count(*) from tableA, tableB;

【课程总结日志】

--No.2 执行速度百秒甚至更高

select count(*) from tableB, tableA;

【课程总结日志】

b) 还有一种是三张表的查询,例如

select count(1) from tableA a,tableB b ,tableC c where a.id=b.id and a.id=c.id;

上面中tableA 为交叉表,根据oracle对From子句从右向左的扫描方式,应该把交叉表放在最末尾,然后才是最小表,所以上面的应该这样写

--tableA a 交叉表

--tabelB b 100w

--tableC c 1w

select count(1) from tableB b ,tableC c ,tableA a where a.id=b.id and a.id=c.id;

14. RETURN和EXIT

a)

b)

c)

d) RETURN返回程序末尾,结束程序 EXIT退出循环,相当于java中的break GOTO用于跳转,但会打乱程序逻辑,一般不使用,它可以实现RETURN、EXIT功能 要实现java中continue功能使用自定义异常的方式

15. EXISTS和IN a) EXISTS判断是否有记录,返回的是一个布尔类型,检索到满足条件退出 b) IN是遍历方式对结果进行比较

c) EXISTS比IN快

16. 表、视图、物化视图和包

a) 表是数据库中的主要结构,表示单个的、特定的集合

b) 视图是来自数据库中的一个或多个表字段组成的一个虚表,不存储数据

c) 物化视图也可称为快照,是包括一个查询结果的数据库对象,它是远程数据的本地副本,或者用来生成基于数据表求和的汇总表

d) 包是程序逻辑处理单位,封装过程(不返回值,不能作为表达式的一部分)和函数(返回单个值,可用变量或常量的表达式中)

17. 临时表

a) 语法create global temporary table test_temp(test_id number,test_desc varchar2(100)) on commit preserve rows会话指定,当中断会话时ORACLE将截断表;on commit delete rows事务指定,每次提交后ORACLE将截断表(删除全部行)

b) 临时表在数据库中保留表结构,但数据只在会话期内有效

c) 访问临时表的性能很高

d) 临时表分为基于事务和会话

e) 可用execute immediate动态创建

f) 应用:1、当某一个SQL语句关联的表在2张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中;2、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等 g) 注意:临时表的索引以及对表的修改、删除等和正常的表是一致的

h) 特性和性能(与普通表和视图的比较)临时表只在当前连接内有效不建立索引,所以如果数据量比较大或进行多次查询时,不推荐使用数据处理比较复杂时表快,反之视图快点在仅仅查询数据的时候建议用游标:open cursor for ‘sql clause’

18. 数据字典

a) ORACLE数据字典有表和视图组成,存储有关数据库结构信息的一些数据库对象。数据库字典描述了实际数据是如何组织的。比如一个表的创建者,创建时间,所属表空间,用户访问权限信息等。

b) 数据字典内容包括:1、数据库中所有模式对象的信息,如表、视图、簇及索引等;2、分配多少空间,当前使用了多少空间等;3、列的缺省值;4、约束信息的完整性;5、ORACLE用户的名字;6、用户及角色被授予的权限;7、用户访问或使用的审计信息;8、其它产生的数据库信息

c) User-用户示图

d) All-所有示图

e) Dba-数据库中所有示图

f) V$-动态性能示图

课程总结日志(二):学习日志

数学合作学习

一、精心预设,选择合作学习的内容

选择恰当的合作学习内容是保证小组合作学习有效性的前提和关键。教师在课前要根据教学内容、学生实际和教学环境条件等,选择有价值的内容,精心设计小组合作学习的“问题”,为学生提供适当的、带有一定挑战性的学习对象或任务。

二、合作学习的积极参与策略

学生主体性的实现,需要其自身的主体意识发展到一定的水平,而主体意识的最终形成又是以人的自我意识发展水平、思维能力为制约条件的。因此,学生在学习过程中,单凭自身的学习水平,难以达到理想效果,但学生在合作学习中借助积极参与各项活动,可以产生交互影响,使他们从感性上形象地体会其自身的主体地位及其意义,以达到主体地位的感性实现“合作”必须“参与”,只有“参与”才能“互动”,参与互动越多,越积极,主体地位的感性体验越强烈,主体意识就越强,从而激发学生进一步提高参与互动的积极性和自觉性。

三、营造民主平等氛围的策略

教学动态因素之间的情感交融,是调动学生积极参与合作学习的动力源泉之一,日本心理学家菊池亲夫指出:教师态度温和这一变量与学生学习成绩之间是正相关。有的教师在教学过程中与学生问的心理距离非常近,他的一个手势,一个眼神都调动学生的注意力,他的拍肩摸头也会使学生因此受到鼓舞。

在合作学习中促进师生间的情感交融,可以从师生互爱、生生互爱、人格平等、教学民主等四个方面来实现。

师生互爱:师生间沟通的渠道是教师对学生的爱和学生对教师的爱。爱是学生的基本心理需求,爱是形成良好师生关系的核心。“没有爱就没有教育”。教师是学生掌握知识发展个性的导航者和引路人,理应受到学生足够的尊重,但教师在教学中要以诚待生,以情育人,通过各种渠道与学生建立浓厚的情感基础,使学生感到学习生活的愉快。

在合作学习中,如果达不到师生互爱,有些学生就可能出现不喜欢老师所教学科,也就不可能促进组内全员合作学习的效果。因为老师布置的学习任务,个别同学或几个同学就可能不按老师要求去办,这样组内其它成员或组长必然出面干涉,由此就可能激发组内成员之间的矛盾,影响合作学习。

生生互爱:在合作学习中,生生互爱显得尤为重要。因为合作学习是以小组为单位进行学习的,而小组间的各成员是异质的,在学习过程中强调相互影响,共同探究,共同提高。只有生生互爱,才会相互尊重,相互帮助,相互促进,避免优生一言堂,差生闲着玩,甚至出现优生瞧不起差生,排挤差生的现象。

“智者多虑必有一失,愚者千虑必有一得”,在合作学习中,生生互爱,相互尊重,人人都认真对待他人意见,就会达到人人都想说,敢说;人人都想做,敢做。达到人人都在原有的基础上得到一定的提高。

人格平等:在合作学习的环境中,各动态因素之间在人格上应该是平等的,无论是教师与学生之间,还是学生与学生之间都应该是平等的。只有师生之间的关系平等了,教师才会融入每个合作学习小组之中,把自己当作学生中的一员,倾听学生意见,尊重学生的观点,学生才敢把老师当作朋友,坦露直言。因此,人格平等有助于培养同学之间的合作意识,合作精神,有利于促进同学之间学习的共同提高,也有助于学生创造思维的发挥。

教学民主:教学民主,在合作学习教学过程中,主要体现为“观点开放”和“教学对话”两种。

“观点开放”即除了原则性很强的是非问题之外,对许多争论性的、假说性的、未有定论的、尚有分歧的各种观点,应持开放性的态度。这不仅是一种教学民主,而且是一种科学态度,它能让儿童从小适应各种不同观点及争论环境,激发他们追求真知的欲望,达到

“百家争鸣,去粗取精,去伪存真”的目的。

“教学对话”即在课堂教学中,实现真正的生动活泼的适合少年儿童心理特点的活动。主要采用学生在合作学习中,相互提问,发表个人不同见解,并以此作为人共同对话的理由和动机。教师要尽可能在“同一等级上”,在事先未确定的道路上开展语言交流活动。

四、结束语

总之,我们教师如果在课前能够考虑得越全面,准备得越到位,预设得越充分,合作学习的实效性就越有保障。当然,我们教师如果在充分预设的基础上,能进一步关注课堂生成,灵活驾驭合作学习中生成的问题,那么,合作学习就不再是课堂教学的点缀,而是迎合课程改革需要而采取的扎实、有效的学习方式之一。

小学数学学习兴趣的培养

一、 创设探索性情境,激发学习兴趣

理论曾提出过“三主”的观点:即课堂教学应以学生的发展为主线,以学生探索性的学为主体,以教师创造性的教为主导。所以,在课堂教学中,教师应创设一个探索性的学习情境,引导学生从多种角度,各个侧面不同方向去思考问题,以激发学生的学习兴趣,变“要我学”为“我要学”。

二、 创设竞争性情境,引发学习兴趣

教育家夸美纽斯曾说“应该用一切可能的方式把孩子们的求知与求学的欲望激发起来”。我们既然处在一个大的竞争环境中,不妨也在我们的小课堂中设置一个竞争的情境,教师在课堂上引入竞争机制,教学中做到“低起点,突重点,散难点,重过程,慢半拍,多鼓励。”为学生创造展示自我,表现自我的机会,促进所有学生比、学、赶、超。例如,在一次数学教研活动中,一位教师就根据教学内容并针对小学生心理特点设计了这样一种情境。讲授“8的认识”,在做课堂练习时,教师拿出两组0至8的数字卡片,指定一名男生和一名女生各代表男队,女队进行比赛。虽然此刻教师还没宣布比赛的规则和要求,可是全体同学已进入了教师所设置的情境之中,暗中为自己的队加油,全体学生的学习兴趣一下子被引发出来了。

三、 创设游戏性情境,提高学习兴趣

根据数学学科特点和小学生好动、好新、好奇、好胜的思维特点,设置游戏性情境,把新知识寓于游戏活动之中,通过游戏使学生产生对新知识的求知欲望,让学生的注意力处于高度集中状态,在游戏中得到知识,发展能力,提高学习兴趣。例如,在课堂训练时,组织60秒抢答游戏。教师准备若干组数学口答题,把全班学生分为几组,每组选3名学生作代表。然后由教师提出问题,让每组参赛的学生抢答,以积分多为优胜,或每答对一题奖励一面小红旗,多得为优胜。学生在游戏中大脑处于高度兴奋状态,精神高度集中,在不知不觉中学到不少有用的知识,并受到正确的数学思想方法的熏陶,有力地提高了学整理生的学习兴趣。

本文来源:http://www.gbppp.com/mw/236078/

推荐访问:
推荐内容:

热门文章