sqlserver实训心得_sqlserver实训体会(实用四篇)
SQL Server是什么?SQL Server 是Microsoft 公司推出的关系型数据库管理系统。下面是读文网带来的SQL Server实训心得,仅供参考。
sql server 实训心得篇1
1、尽可能少用临时表
select * from
(select ROW_NUMBER()over(order by AreaName)as rowNum, AreaName,
AreaTotalPoints=(select SUM(Points) fromtempPointswhere JurisdictionalUnitArea in(select AreaID from GetSubAreas(AreaID)))
from Areas where ParentAreaID=@AreaID)as t
where rowNum>(@pageindex-1)*@pagesize and rowNum<=@pageindex*@pagesize
我原来是这样写的:
select ROW_NUMBER()over(order by AreaName)as rowNum, AreaName,
AreaTotalPoints=(select SUM(Points) fromtempPointswhere JurisdictionalUnitArea in(select AreaID from GetSubAreas(AreaID)))
intotempfrom Areas where ParentAreaID=@AreaID
select *frotempwhere rowNum>(@pageindex-1)*@pagesize and rowNum<=@pageindex*@pagesize
drop table #temp
测试后发现不用临时表查询时间大大减少了。
小结:有时我们为了语句的逻辑清晰而使用临时表存储数据,但这样会影响sql语句执行效率,特别在数据量大的时候,这种差异尤为明显。所以要权衡选择。一般在数据量小时,使用它影响不大。
2、尽可能少选取列
select tempUser.JurisdictionalUnitArea,SUM(pr.Points)as yearPoints into #tempUser2
fromtempUsertempUser inner join PointRecords pr on tempUser.UserID=pr.EffectUserID。。。
我原来是这样写的:
select tempUser.* ,SUM(pr.Points)as yearPoints into #tempUser2
fromtempUsertempUser inner join PointRecords pr on tempUser.UserID=pr.EffectUserID。。。
其实自己需要用到的只是其中一部分数据列,有时为了图方便,就用*代替了,这样也会影响效率。
3、SET NOCOUNT 不返回计数功能
使用语句:SET NOCOUNT ON, 默认情况下(即不写)SET NOCOUNT 为OFF
一般使用sql server管理工具新建存储过程会自动创建这条指令,在不需要数据库告诉你执行完sql语句影响了多少行时推荐SET NOCOUNT ON,可以提高性能。
4、有无必要使用distinct
SELECT distinct u.*,ue.JurisdictionalUnitArea
和
SELECT u.*,ue.JurisdictionalUnitArea
distinct是返回数据表中不重复的记录,像注册用户这种情况一般在注册时就会验证唯一性,所以表中不会出现重复记录(其它情况可具体分析),就可以不使用distinct。
distinct和not in ,union等一样会导致全表扫描,导致性能下降,在能不用的情况下尽量不用。
补充:一般使用rowNumber()函数代替not in
使用union all 代替union
sql server 实训心得篇2
为期五天的实习,很快就过去了,让我重新了解了丰富多彩的编程生活,感受到了学习的快乐,也感觉到了许许多多的专业问题,亲身体验了窗体与工程制成之后的喜悦之情。
在实训期间,我学到了许多东西,遇到了一些困难,也看到了自己本身存在着许多问题。
这次实训给我带来了危机感和压迫力,让人警醒,更加清楚自己的水平和重量,心里总有种被大石头压着的无力感,但是又凭着一种坚持,奋力的抗争着。所以也得出个结论,那就是——我得好好好好的努力啊。
这已经是我们的第四次实训了,在我进入大学的这两年多里,或多或少的学到了一些专业的东西。
我知道自己很爱玩,于是为了能够提高锻炼自己,我把本次为期一周的VB、SQL制作实训看作是一个通向社会,通向我的工作岗位的“理论与实践相结合的桥梁”。在本周的实训和学习,我一直知道此次实训的目的,也知道我自己的目的,同时也清楚目前自己的不足——缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作,所以我是认真的对待这次实训的。
在这次实训中,我也有许多收获。首先,我体会到了作为一个VB设计师,不会将VB与SQL结合的痛苦和尴尬;然后,我发现了很多以前都不曾注意到的细节;其次,在实训中,我对作为一名编程者应该学习的内容做了一个更深层次的理解;最后,我还从这次实训中看到了自己很他人的差距,危机意识增强,为了不使这个差距拉大,甚至赶上前面的同学,我会努力的。
本次实训,给我最深刻、最刻骨铭心的感觉就是累,不仅每天白天要一整天对着一台机器,而且到了晚上还要对着这台机器来一个法式的“秉烛夜谈”,可惜的是没有浪漫的事前发生,我也只是对牛谈情而已,不似李白的“举杯邀明月,对影成三人”啊,我就和一部会说话的机器唧唧歪歪。我时常想,以后的日子里,如果我成为了一名编程师也会是这样吗?好像很无聊的样子啊。好动的我一定坐不住吧。可是,我也知道,为了衣食父母,为了生存,为了未来,现在我还没有任何的资格想这个问题,时间不对,而现在最最应该想的是——我要怎样成为一个顶级的编程师。当我终于有能力的时候,才是考虑无不无聊的问题,我还是明白这一点点。
经过多番的努力和辛酸,我成功地完成了这次过程艰辛的实训,而且我从中体会到了一种叫做‘成功的喜悦’的感觉,那种小有成就的兴奋是只有置身其中的人才能体会的,就好比我啊,虽然知道笑到最后的才是老大,但是偶尔阿Q一下来调节生活乐趣也是的一项很必要的事情吧。 总之,这次实训为我提供了与众不同的学习方法和学习体会,从书本中走出来,面对现实,为我将来走上社会打下了扎实的基础,铺了一条五光十色的大马路。而且,我也体会到了前人总结出的许多的实践经验,而且一直都知道技术永远是工资的基础,社会是不会要一个一无是处的人的,所以,为了生活庸俗一点,努力一点,多累一点,好好学习技术,将来才有吃大餐的钱呀。
因此,我知道,作为在校电商专业的大专生,我能做的就是好好的吸取知识,努力的提高自己的技术水平和自身的综合素质,提高自己的表达能力、写作能力和合作能力。如此,出了社会,自己有了能力,到时候才会是 “吃嘛嘛香”,并且很牛逼的是自己选公司,而不是悲惨的等待公司来选。我相信在不久的未来,会有属于我自己的一片天空,而且这片天空会很蓝很蓝,没有黑黑的乌云,只有灿烂的阳光!
在编程的过程中遇到问题,可以说得是困难重重,这毕竟是第一次编程这么多,这么认真,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说代码不熟悉,还好通过老师的细心指导才能达到最终效果„„通过这次程设计与制作实训,一定把以前所学过的知识重新温故。
这个星期是我们SQL Server 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。而本次实训的目的是让我们掌握数据库系统的原理、技术。将理论与实际相结合,应用现有的数据库管理系统软件,规范、科学地完成一个设计与实现。
这次我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。我们实训的另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单SELECT语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。
存储过程、触发器也是我们实训的内容之一, 在操作中有建立存储过程,执行存储过程,及查看和修改存储过程,这些都是非常基础的东西,但对用户却是非常重要的呢,只有熟悉了T_SQL语言,才能更好的掌握更多的东西。我们还学习了,SQL管理、数据的导入、导出、备份和还原。有SQL Server 安全访问控制;登录账户的管理;数据库角色的管理;用户权限管理。维护数据库的安全是确保数据库正常运行的重要工作。数据的备份是对SQL Server数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。而数据的备份还分为数据库完整备份、差异备份、事务日志备份、文件及文件组备份。做数据备份就是为了以后的数据库恢复用。在实训内容上我们还做了仓库管理数据库,其中的要求包含了许多数据库的对象,综合了我们所学的许多知识,让我们更努力的把所学到的东西运用上去。
实训课是在学习与探索中度过的,短暂的一星期实训是结束了,但其中让我们学到了许多知识,出现许多未知的为什么,如仓库管理数据库的初步设置、数据备份与还原的步骤,如何建立视图、触发器等一系列的问题,正是在老师和同学的共同努力之下,我们才一步步把问题解决了,最终完成了不可能完成的任务。
短短的5天VB程序设计又结束了。在这5天的实训中,给我们更大的感觉是设计的任务繁重。程序设计的严密性,让我们清楚的了解了VB这一课程。只有亲身经历过,才知道其中的滋味。VB设计实训,对我们各方面的要求更是提高了一大步。
“要想为事业多添一把火,自己就得多添一捆材”。 通过此次实训,我深深体会到了积累知识的重要性。有些题目书本上没有提及,所以我就没有去研究过,做的时候突然间觉得自己真的有点无知,虽然现在去看依然可以解决问题,但还是浪费了许多时间,这一点是我必须在以后的学习中加以改进的。另外一点,也是在每次实训中必不可少的部分,就是不懂的同学间可以互相帮助,有些东西感觉自己做的是时候明明没什么错误,偏偏最后运行时候就是有错误,让其同学帮忙看了一下,发现其实是个很小的错误。所以说,相互帮助是很重要的一点。这在以后的工作或生活中也很关键的。
5天的实训结束了,收获颇丰,总的来说我对这次实训还是比较满意的,它使我学到了很多东西,虽说有点头疼,但是真的很感谢学校能够给学生这样实训的机会,让我们明白了,只有多做,才能熟能生巧,才能游刃有余。我深刻理解了什么是程序设计,它不仅仅是一份职业,更是一份细心+一份耐心+一份责任心=人生价值的诠释。同时我也认识到要做一个合格的设计工作者并非我以前想像的那么容易,最重要的还是细致严谨。社会是不会要一个一无是处的人,所以我们要更多更快得从一个学生向工作者转变。 总而言之,这次实训让我对程序设计工作有了比较清晰的认识,并在实际操作过程中找出自身存在的不足,对今后的会计学习有了一个更为明确的方向和目标。
只有经历过,才知道其中的滋味”,对我而言,可以说通过这几天的实训课,真真切切的让我了解了什么是VB, 通过实训,我对本课程的认识进一步加强。
猜你感兴趣:
1.
2.
3.
4.
sql server 实训心得篇3
为期一周的实训已经结束,从这一周中,有了很多的感悟。从学到和掌握到的东西来说,在书本上学到的东西非常不牢固,然而实训真的让我受益匪浅!实训第一天到教室时,看到老师给我们讲试训的内容与要求,然后告诉我们一些要完成的任务与作业,然后根据试训的内容与要求授课,让我们从实践中去体会所学的知识。说实话,对于SQL Server 数据库,我所学到的知识很不牢固,当时在课堂上听课所记住的也并不多,所以在试训开始时,真的不知道该干些什么?有一种“何去何从”的感觉!但随着老师的教课和讲解,以及和同学的讨论,再结合自己所知道的知识和老师所发放下的课程内容,根据这些实际的情况,我对自己将要做的事也有了兴趣和信心。所以在接下来的时间中,我们在老师的帮助下开始了数据库相关的实训。
在这次的google订餐系统的设计过程中,我们根据该google订餐系统的功能,将其分解三大部分来完成,第一部分就是建立数据库和表,并给其添加约束;第二是角色的管理,分为管理员,订餐用户和餐馆;第三就是用编程语言建立管理菜单。所以 试训的内容是从数据库和数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表属性,有查看表信息,修改表中数据,删除表中的数据以及修改表与删除表的操作。
我们以SQL Server数据库为基础,建立一个google订餐系统的数据库管理体系,并将数据库与程序连接,用编程语言建立数据库管理菜单。老师给我们讲了库和表的创建方法,以及约束的内心及其语法结构,让我们知道了不同约束的功能和使用的环境,还给我们说了标识列的使用和作用。讲了数据库的操作,增删改查。使我们掌握了insert into,deleted from,update set,以及select*from语句的的相关知识和运用。其中还学到了分页查询以及多表查询。
从这次试训中让我们更明白了一些知识,表是数据库最重要的一个数据对象,表的创建好坏直接关系到数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际运用中使用多表,对表的规划和理解就会越深刻。通过这次试训,让我深刻的了解到自己的不足,要想对进行数据库更深的学习,自己得要多看有关的课外书籍,并多做练习,不懂得要多问同学和请教老师,以解决自己遇到的难题,知道更多的知识。实训不仅是让我们在实践中对理论知识的验证,也让我们知道我们多学的知识在社会上的运用,把所学知识和企业商业接轨。
这次实训,不仅让我们学到了许多有关数据库的知识,老师也给我们讲了很多社会现状和就业情况,让我们不同的角度了解这个专业的就业趋势。让我们在今后的学习中更有动力的充实自己,曾加自己的知识面和锻炼自己各方面能力。、
sql server 实训心得篇4
最近有幸参加了SQL Server2008 R2的学习,有几点自己感觉比较实用的知识点以及技巧,和大家分享一下。
1,备份时勾选checksum选项。
数据库备份时偶尔会产生损坏页,而且在访问到损坏页之前往往不容易被我们发现。因此备份后首先应该记得做的一件事就是验证一下,在早期版本的SQL Server中我们可以用如下命令进行检测:
dbcc checkdb 数据库名
在SQL server2005以后的版本中备份为我们提供了checksum选项,备份时同时进行检测,保证数据的正确性和完整性。
2.时间类型
提到时间类型,我们常用的就是datetime类型,当计算时间间隔的时候有两种常用方法:
①采用>=datetime1 and <= datetime2+' 24:00:00',这种方式问题倒是不太大;
②采用 convert(datetime1)方式转换为日期,然后进行比较。这种方式的弊端在于会导致索引无效。解决方案是采用计算列,即,添加一个列为convert(colname),然后在新列上建索引。这样就可以避免修改程序来挽回索引了。
在SQL Server2008中,为了解决这些问题,有了更细的时间类型:date、time、datetime2(精度更高)、datetimeoffset(带时区)。
3.其他备份选项:
①备份压缩:在备份的同时对数据进行压缩,当数据量较大的时候可以为企业节省服务器资源。
②碎片处理:对于数据库页进行碎片整理,提高性能。
③索引视图:一般的视图中是没有数据的,是一张虚表。但是索引视图中是包含数据的,这样可以提高检索性能,当然也会浪费了部分空间。是典型的以空间换时间做法。
4.稀疏列:
当列为变长类型时null值不消耗空间,当为定长类型时null值消耗空间。这种做法实际上抛弃了范式规则,来提高读取速度。不过一般建议当该列null值大于70%时才定义为稀疏列,否则所占据的空间反而更大。
5.页压缩、行压缩
SQL Server2008提供了压缩功能来节省空间,其中行压缩针对定长数据,页压缩包括行压缩,且重复值只存一次,其他的只存物理指针。
6.DAC
主要用来生成脚本,优点是可以包含表之间的依赖关系、结构信息等,但是不包括实际数据。
7.在虚拟机上架构SQL Server要记得打开Named Pipes协议。否则不能正常运行。
8.文件组:
建立数据库数据表之后将文件进行分组、规划。一般企业经常将整个数据库放在一个文件中,这是不合理的。或者有些企业建立多个数据库来分开管理,但是当服务器做镜像或者迁移时会存在建立索引的麻烦。所以建议使用文件组管理。
9.开发人员规范
①写INSERT以及SELECT 要写明具体字段名称,否则一旦表字段进行了调整,就会带来修改客户端程序的麻烦。
②存储过程名称不要以sp_开头,而要以usp_开头。因为sp_开头的存储过程会被当做系统自带内容,降低性能。