总看有些人反对使用存储过程,原因无非是以下几点
1.不利于更换数据库,就是没有移植性
2.不利用调试和扩展
就依据我们大大小小项目,风风雨雨走过近20年,每个系统的业务逻辑处理几乎都是用存储过程实现的,没发现多不方便,反倒是越用越感觉方便,快捷,高效。
就上述不利于更换数据库,没移植性,我想问,您什么项目还经常更换数据库,经常移植,我们目前项目20多年了一直用SQLSERVER ,从SQLERVER2000,到SQSERLVER2012 ,反而移植很快,难道说不用存储过程,就利于更换数据库有移植性吗,难道SQLServer和Oracle数据类型就一样?
再说不利于调试和扩展,就我们项目来看反而调试很简单,比如在数据库端测试没问题,再测试应用端,分块测试,很方便,没看出怎么不利于调试的,
在使用存储过程时,利用后期运维和维护,只要业务逻辑更改,只需在数据库端修改或重新编写存储过程,并且由于和数据在一起,处理起来很高效。
先说这么多,以后继续写写,以上只是个人在项目中使用存储过程的感觉,也许我们项目不是很大,目前最大系统是1000人同时在线使用,查询、送审、审核、批准、上传文件,下载文件,动态word转pdf,等,还没遇到过用存储过程就会宕机或其他问题,还欢迎指教。