存储过程的优缺点个人总结

时间:2019-05-12 18:33:58下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《存储过程的优缺点个人总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《存储过程的优缺点个人总结》。

第一篇:存储过程的优缺点个人总结

优点

1.在生产环境下,可以通过直接修改存储过程的方式修改业务逻辑(或bug),而不用重启服务器。但这一点便利被许多人滥用了。有人直接就在正式服务器上修改存储过程,而没有经过完整的测试,后果非常严重。

2.执行速度快。存储过程经过编译之后会比单独一条一条执行要快。但这个效率真是没太大影响。如果是要做大数据量的导入、同步,我们可以用其它手段。

3.减少网络传输。存储过程直接就在数据库服务器上跑,所有的数据访问都在服务器内部进行,不需要传输数据到其它终端。但我们的应付服务器通常与数据库是在同一内网,大数据的访问的瓶颈会是硬盘的速度,而不是网速。

4.能够解决presentation与数据之间的差异,说得文艺青年点就是解决OO模型与二维数据持久化之间的阻抗。领域模型和数据模型的设计可能不是同一个人(一个是SA,另一个是DBA),两者的分歧可能会很大——这不奇怪,一个是以OO的思想来设计,一个是结构化的数据来设计,大家互不妥协——你说为了软件的弹性必须这么设计,他说为了效率必须那样设计,为了抹平鸿沟,就用存储过程来做数据存储的逻辑映射(把属性映射到字段)。好吧,台下已经有同学在叨咕ORM了。

5.方便DBA优化。所有的SQL集中在一个地方,DBA会很高兴。这一点算是ORM的软肋。不过按照CQRS框架的思想,查询是用存储过程还是ORM,还真不是问题——DBA对数据库的优化,ORM一样会受益。况且放在ORM中还能用二级缓存,有些时候效率还会更高。

缺点

1.SQL本身是一种结构化查询语言,加上了一些控制(赋值、循环和异常处理等),但不是OO的,本质上还是过程化的,面对复杂的业务逻辑,过程化的处理会很吃力。这一点算致命伤。

2.不便于调试。基本上没有较好的调试器,很多时候是用print来调试,但用这种方法调试长达数百行的存储过程简直是噩梦。好吧,这一点不算啥,C#/java一样能写出噩梦般的代码。

3.没办法应用缓存。虽然有全局临时表之类的方法可以做缓存,但同样加重了数据库的负担。如果缓存并发严重,经常要加锁,那效率实在堪忧。

4.无法适应数据库的切割(水平或垂直切割)。数据库切割之后,存储过程并不清楚数据存储在哪个数据库中。

5.精通SQL的新手越来越少——不要笑,这是真的,我面试过N多新人,都不知道如何创建全局临时表、不知道having、不知道聚集索引和非聚集索引,更别提游标和提交叉表查询了。好吧,这个缺点算是凑数用的,作为屌丝程序员,我们的口号是:没有不会的,只有不用的。除了少数有语言洁癖的人,我相信精通SQL只是时间问题。

总结

存储过程最大的优点是部署的方便性——可以在生产环境下直接修改——虽然滥用的后果很严重。

存储过程最大的缺点是SQL语言本身的局限性——我们不应该用存储过程处理复杂的业务逻辑——让SQL回归它“结构化查询语言”的功用吧。

第二篇:存储过程中的优缺点个人总结

存储过程中的优缺点个人总结

公司的系统是自主开发的,历史比较悠久,有不少是传统C/S架构,采用存储过程来处理业务逻辑。

近来做新系统的时候,我采用了三层架构,抛弃存储过程改用ORM。有同事问及不用存储过程的理由,我想了一下,对存储过程做了如下总结。本人经验和水平有限,总结有所偏颇,还请大家纠察。

优点

1.在生产环境下,可以通过直接修改存储过程的方式修改业务逻辑(或bug),而不用重启服务器。但这一点便利被许多人滥用了。有人直接就在正式服务器上修改存储过程,而没有经过完整的测试,后果非常严重。

2.执行速度快。存储过程经过编译之后会比单独一条一条执行要快。但这个效率真是没太大影响。如果是要做大数据量的导入、同步,我们可以用其它手段。

3.减少网络传输。存储过程直接就在数据库服务器上跑,所有的数据访问都在服务器内部进行,不需要传输数据到其它终端。但我们的应付服务器通常与数据库是在同一内网,大数据的访问的瓶颈会是硬盘的速度,而不是网速。

4.能够解决presentation与数据之间的差异,说得文艺青年点就是解决OO模型与二维数据持久化之间的阻抗。领域模型和数据模型的设计可能不是同一个人(一个是SA,另一个是DBA),两者的分歧可能会很大——这不奇怪,一个是以OO的思想来设计,一个是结构化的数据来设计,大家互不妥协——你说为了软件的弹性必须这么设计,他说为了效率必须那样设计,为了抹平鸿沟,就用存储过程来做数据存储的逻辑映射(把属性映射到字段)。好吧,台下已经有同学在叨咕ORM了。

5.方便DBA优化。所有的SQL集中在一个地方,DBA会很高兴。这一点算是ORM的软肋。不过按照CQRS框架的思想,查询是用存储过程还是ORM,还真不是问题——DBA对数据库的优化,ORM一样会受益。况且放在ORM中还能用二级缓存,有些时候效率还会更高。

缺点

1.SQL本身是一种结构化查询语言,加上了一些控制(赋值、循环和异常处理等),但不是OO的,本质上还是过程化的,面对复杂的业务逻辑,过程化的处理会很吃力。这一点算致命伤。

2.不便于调试。基本上没有较好的调试器,很多时候是用print来调试,但用这种方法调试长达数百行的存储过程简直是噩梦。好吧,这一点不算啥,C#/java一样能写出噩梦般的代码。3.没办法应用缓存。虽然有全局临时表之类的方法可以做缓存,但同样加重了数据库的负担。如果缓存并发严重,经常要加锁,那效率实在堪忧。

4.无法适应数据库的切割(水平或垂直切割)。数据库切割之后,存储过程并不清楚数据存储在哪个数据库中。

5.精通SQL的新手越来越少——不要笑,这是真的,我面试过N多新人,都不知道如何创建全局临时表、不知道having、不知道聚集索引和非聚集索引,更别提游标和提交叉表查询了。好吧,这个缺点算是凑数用的,作为屌丝程序员,我们的口号是:没有不会的,只有不用的。除了少数有语言洁癖的人,我相信精通SQL只是时间问题。总结

存储过程最大的优点是部署的方便性——可以在生产环境下直接修改——虽然滥用的后果很严重。

存储过程最大的缺点是SQL语言本身的局限性——我们不应该用存储过程处理复杂的业务逻辑——让SQL回归它“结构化查询语言”的功用吧。

第三篇:mysql 5.0存储过程学习总结

mysql 5.0存储过程学习总结

一.创建存储过程 1.基本语法:

create procedure sp_name()begin end 2.参数传递

二.调用存储过程

1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递

三.删除存储过程 1.基本语法:

drop procedure sp_name// 2.注意事项

(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程

四.区块,条件,循环 1.区块定义,常用 begin end;也可以给区块起别名,如: lable:begin end lable;可以用leave lable;跳出区块,执行区块以后的代码

2.条件语句 3.循环语句 :while循环 loop循环 repeat until循环 repeat until循环

五.其他常用命令

1.show procedure status 显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等 2.show create procedure sp_name 显示某一个存储过程的详细信息

mysql存储过程基本函数

一.字符串类

CHARSET(str)//返回字串字符集 CONCAT(string2 [,...])//连接字串

INSTR(string ,substring)//返回substring首次在string中出现的位置,不存在返回0 LCASE(string2)//转换成小写

LEFT(string2 ,length)//从string2中的左边起取length个字符 LENGTH(string)//string长度

一起推论坛

一起推论坛www.xiexiebang.com

第四篇:课题:SQLServer存储过程返回值总结

SQLServer存储过程返回值总结

1.存储过程没有返回值的情况(即存储过程语句中没有return之类的语句)

用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况

(1)假如通过查询分析器执行该存储过程,在显示栏中假如有影响的行数,则影响几行count就是几

(2)假如通过查询分析器执行该存储过程,在显示栏中假如显示'命令已成功完成。'则count =-1;在显示栏中假如有查询结果,则count =-1

总结:A.ExecuteNonQuery()该方法只返回影响的行数,假如没有影响行数,则该方法的返回值只能是-1,不会为0。

B.不论ExecuteNonQuery()方法是按照CommandType.StoredProcedure或者CommandType.Text执行,其效果和A一样。

2.获得存储过程的返回值--通过查询分析器获得

(1)不带任何参数的存储过程(存储过程语句中含有return)

---创建存储过程

CREATE PROCEDURE testReturn

AS

return 145

GO

---执行存储过程

DECLARE @RC int

exec @RC=testReturn

select @RC

---说明

查询结果为145

(2)带输入参数的存储过程(存储过程语句中含有return)

---创建存储过程

create procedure sp_add_table1

@in_name varchar(100), @in_addr varchar(100), @in_tel varchar(100)

as

if(@in_name = '' or @in_name is null)

return 1

else

begin

insert into table1(name,addr,tel)values(@in_name,@in_addr,@in_tel)

return 0

end

---执行存储过程

<1>执行下列,返回1

declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count

<2>执行下列,返回0

declare @count int exec @count = sp_add_table1 '','中三路','123456' select @count

---说明

查询结果不是0就是1

(3)带输出参数的存储过程(存储过程中可以有return可以没有return)

例子A:

---创建存储过程

create procedure sp_output

@output int output

as

set @output = 121

return 1

---执行存储过程

<1>执行下列,返回121

declare @out int

exec sp_output @out output

select @out

<2>执行下列,返回1

declare @out int

declare @count int exec @count = sp_output @out output

select @count

---说明

有return,只要查询输出参数,则查询结果为输出参数在存储过程中最后变成的值;只要不查询输出参数,则查询结果为return返回的值

例子B:

---创建存储过程

create procedure sp_output

@output int output

as

set @output = 121

---执行存储过程

<1>执行下列,返回121

declare @out int

exec sp_output @out output

select @out

<2>执行下列,返回0

declare @out int

declare @count int

exec @count = sp_output @out output

select @count

---说明

没有return,只要查询输出参数,则查询结果为输出参数在存储过程中最后变成的值;只要不查询输出参数,则查询结果为0

总结:

(1)存储过程共分为3类:

A.返回记录集的存储过程---------------------------其执行结果是一个记录集,例如:从数据库中检索出符合某一个或几个条件的记录

B.返回数值的存储过程(也可以称为标量存储过程)-----其执行完以后返回一个值,例如:在数据库中执行一个有返回值的函数或命令

C.行为存储过程----用来实现数据库的某个功能,而没有返回值,例如:在数据库中的更新和删除操作

(2)含有return的存储过程其返回值为return返回的那个值

(3)没有return的存储过程,不论执行结果有无记录集,其返回值是0

(4)带输出参数的存储过程:假如有return则返回return返回的那个值,假如要select输出参数,则出现输出参数的值,于有无return无关

--------------------3.获得存储过程的返回值--通过程序获得

---------------------------SqlParameter[] cmdParms = {..,new SqlParameter(“@return”,SqlDbType.Int)};cmdParms[cmdParms.Length1].Direction = ParameterDirection.Output或者 cmdParms[cmdParms.Length1].Value;

分类: asp.net

第五篇:个人主要优缺点总结

个人主要优缺点总结

缺点让你弄丢自信,优点让你找回自信。下面是小编整理的个人主要优缺点总结范文,希望对你有所帮助!

优点:

1、我是一个比较实在的年轻人,对要做的事情很执着。

2、不怕吃苦、不怕累、不怕脏。

3、做每件事情都有计划,善于做笔记(我非常喜欢“PDCA”、“轻重缓急”)。

4、自己决定好的事情,我片刻不想停留,直至完成。

5、有责任心,勇于担当。

6、我喜欢和人交往,尊重别人。

7、我是一个很乐观的年轻人,我喜欢帮助别人,这样可以让自己幸福。

8、善于学习身边人的优点。

9、注重思路,在办公室里,我要求自己的办公用品要整齐;在工作安排中,自己负责的事情要条理。

10、遇到问题不等不靠,我会积极的动脑子去解决。

11、喜欢收集和学习管理的知识。

缺点:

1、着急、性子急,做事情急于求成。

2、浮躁,做起事不够沉稳。

3、喜欢吃喝、抽烟,年轻人喝酒不上进,对自己的身体也不负责任。

4、有时候过于自信,认为自己工作安排的很好,就贪睡。

5、在工作中,自己不主动学习外专业的知识。

6、语言表达能力欠缺。

7、组织和管理能力比较弱。

8、网络占用了我晚上学习的时间,所以没能好好利用时间来提高自己。

9、年轻经验不足,导致做某些工作效率低。

优点:

1、做人真诚,做事认真负责。

2、喜欢与人交往,善于组织策划活动和项目。

3、积极务实,敢于主动承担自己的责任。

4、能坚持。确定了正确方向,我就能把所有的力气砸向那个方向。有执行能力。

5、勤奋,善于学习自己感兴趣的知识和事物。做事喜欢列个计划,分出轻重缓急。

缺点:

1、性格方面的弱点,有时给自己压力过大,急于求成,过犹不及。

2、在担任团队领导的时候,涉及到队员的利益的时候,有时为队员考虑的太多,导致做决定的时候会花比较多的时间。

3、不主动锻炼身体,除了和朋友一起打篮球和其他球类运动。

4、工作起来,有时会忘记时间。昨天晚上就很晚睡,大概24:00过的样子,一直忙省分行领导给的20xx届新入行大学生培训电子杂志的工作。

5、在交朋友的时候,喜欢故事经历丰富的朋友,不喜欢朋友没有故事,太平淡。

对未来职业生涯的展望和规划

我,金融学和信息管理与信息系统双学位毕业,对金融有很浓厚的兴趣。我有一个人生目标:做最有影响力的自己。它不是靠哗众取宠能够得来的,而是需要不断提升梦想的高度、拓展心灵的宽度、累积思想的厚度!我相信,我的人生目标在以后的路上会一直影响我的职业生涯。

有了梦想还要有明确的规划,更要有实际的行动。要记住仰望星空,更要在仰望星空的同时看看脚下,从本职做起、从小事做起、从细节做起,不断努力跳跃并尝试触摸自己的梦想。我知道,我们每个人都会分到下边分理处做柜台,我赞同这种安排,我明白,银行中几乎所有的产品都是会通过柜台面向我们的客户,假如没有柜员的锻炼,我相信,把我们分到其他业务岗位,我们很难上手,因为我们少了在柜员岗的锻炼,不熟悉业务和产品。相反,在我们经历了柜员岗的锻炼后,再把我们分到其他岗位上,我相信,那时我们会更加的有自信,也能更好的完成工作。所以,我会珍惜在柜员岗的机会,铆劲提升自身的业务能力,熟练掌握我们的产品。力争做个业务骨干!这是我在柜员岗对自己一个总体要求!

在柜员岗夯实了业务和产品的基础后,我目前的想法是进公司业务部和销售部门(理财和销贷)工作。公司业务部很累,压力很大,很有挑战,我清楚!但我相信自己的做事态度和能力,一定能够胜任!我喜欢与人交往,做人真诚,也很想去销售的部门工作,像理财和销贷部门。这是目前根据我的兴趣,结合自身的优点给自己的未来一段时间的规划。在以后的实际工作中,我会更理性的调整自己,进一步全面发掘自己,找到最适合我的方向,然后努力地朝这个方向、目标前进。在前进的过程中,不断累积自己的知识,提升自己的能力,一如既往的坚持积极务实的工作态度,努力我完善自己的情商。我相信,当有一天,梦想的高度、心灵的宽度,思想的厚度这三围都丰满了的时候,就会成就我的人生目标--做“最有影响力的自己”!

1、做人真诚,做事认真负责。

2、能坚持。确定了正确方向,我就能把所有的力气砸向那个方向。有执行能力。

3、勤奋,善于学习自己感兴趣的知识和事物。做事喜欢列个计划,分出轻重缓急。

4、喜欢与人交往,善于组织策划活动和项目。

5、积极务实,敢于主动承担自己的责任。(励志天下)

个人优缺点总结:缺点

1、不主动锻炼身体,除了和朋友一起打篮球和其他球类运动。

2、工作起来,有时会忘记时间。昨天晚上就很晚睡,大概24:00过的样子,一直忙省分行领导给新入行大学生培训电子杂志的工作。

3、在交朋友的时候,喜欢故事经历丰富的朋友,不喜欢朋友没有故事,太平淡。

4、性格方面的弱点,有时给自己压力过大,急于求成,过犹不及。

5、在担任团队领导的时候,涉及到队员的利益的时候,有时为队员考虑的太多,导致做决定的时候会花比较多的时间。

下载存储过程的优缺点个人总结word格式文档
下载存储过程的优缺点个人总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    个人总结优缺点

    个人总结优缺点 是最新发布的《个人总结优缺点》的详细范文参考文章,觉得应该跟大家分享,这里给大家转摘到。 篇一:优缺点自我评价总结优缺点自我评价总结 本人敢于接受各种挑......

    个人优缺点总结

    优点:做事认真,态度端正,为人真诚,勤俭节约,爱护环境,团结同学,尊敬师长,乐于助人,积极乐观,开朗大方,坚强勇敢,坚持不懈 缺点:虚荣心强,好面子,做事易冲动,逻辑思维能力不强,粗心大意,脾气暴......

    2016个人优缺点总结

    2016个人优缺点总结 个人优缺点总结(一)本人作为党的忠实拥护者,能够成为中国共-产-党的一员是我在学习和生活中努力奋斗的目标。因而我在日常的工作、学习、生活中严格要求自......

    个人优缺点总结专题

    个人优缺点总结 总结分析自身优缺点 优点:对未来职业生涯的展望和规划 我,金融学和信息管理与信息系统双学位毕业,对金融有很浓厚的兴趣。我有一个人生目标:做最有影响力的自己......

    个人总结主要优缺点

    个人总结主要优缺点 知人者智,自知者明。我们大多数人都会认为对自己有足够的了解,那么工作中的优缺点,如何总结,以下是小编搜集并整理的有关内容,希望对大家有所帮助! 个人总结......

    个人优缺点总结

    个人优缺点总结 我是一个优缺点明显的人,希望以后的自己能不断完善自己,减免缺点甚至改掉缺点,能真正的发挥到扬长避短。优点有一下几点:1.为人正直,善良。这是做人做基本的。 2.......

    个人优缺点总结

    个人优缺点 优点: 1、做人真诚,做事认真负责。 2、喜欢与人交往,善于组织策划活动和项目。 3、积极务实,敢于主动承担自己的责任。 4、能坚持。确定了正确方向,我就能把所有的力......

    个人优缺点总结

    个人优缺点总结 来源:(58.com)发布时间:2011-03-16 个人优缺点总结 总结分析自身优缺点 优点: 1、做人真诚,做事认真负责。 2、喜欢与人交往,善于组织策划活动和项目。 3、积极务实......