什么时候应用储存过程
各位朋友,小弟最近有一问题困扰了很久,可是一直没有得到解决,在最近做了一个小的桌面应用程序,在答辩时,老师给我们说,应当用存储过程,可是小弟实现不懂,储存过程应该在设计程序时哪些地方用,还有用储存过程有哪些好处.请各位帮帮忙啦,小弟先谢了.
------解决方案--------------------说说个人理解
存储过程一般在小型的数据库管理系统中是不支持的,例如:access,hsql等
如果是做小型的桌面应用程序,首先选择数据库时,就不用选择oracle之流
有下面几个理由
小型桌面程序中,小,不光体现在你的程序小,同时还要涉及到数据库,运行环境上
比如说,如果你的系统要放到网上供人下载用,首先就不要考虑用java开发,光一个jdk都够你下载半天的了
如果再来一个oracle或者sql server之类的数据库,我想没有人想用你的系统了
从方便层面考虑,access等文件型数据库方便管理和备份,不需要有专业的数据库知识就能执行日常的维护操作
存储过程优势一
它是一个已经被数据库系统编译好了的sql语句
我们知道,任何sql被数据库执行前,数据库要对sql的语法进行校验,编译,然后才能运行,调用存储过程就免除了校验和编译步骤,因为任何存储过程都是已经编译好了的
存储过程优势二
很多复杂的查询需要耗费大量的数据库时间,如果把复杂的sql运算,放到存储过程中,可以减少sql的复杂度,提高执行效率
------解决方案--------------------比如报表生成模块
------解决方案--------------------存储过程一般用在内部逻辑的处理,比如一个订单编号需要产品号和日期等栏位通过某种逻辑计算得出,那么这种内部逻辑处理的东西就可以考虑使用存储过程来处理,然后在程序中直接call存储过程即可