为什么数据库存储过程逐渐的被我们抛弃?
在各种关系数据库里面,存储过程是一个非常重要的、具备编程能力的重要对象,它仅仅只编译第一次,以后无须再编译,所以从理论上来说执行效率非常高了,但是当我们在现实的项目中,却发现,这个优秀的数据库对象逐渐的远离我们,也就是我们越来越很少使用、甚至不用,下面我们就来分析为什么会出现这样的情况。
使用成本非常大
各种数据库的存储过程语法相差大
当你看了各种数据库的存储过程语法后,发现相差还是有些大,所以如果后面换数据库了,意味着所有的存储过程都需要修改,修改之后又还需要一步步的测试、调试。
没有版本控制
这或许是最大的问题,我们知道,有了版本控制,我们能够轻易的恢复代码到某个版本,这样就会减少很多灾难的发生。
人力成本很大
如果我们将存储过程用起来,就意味着,需要专门的人来处理这块,所以人力成本从而就增加了。
ORM的兴起
ORM即对象关系映射的兴起,改变了我们操作数据库的方式,以前我们要开发一个基于数据库的应用,必须先要熟悉该种数据库对应的SQL语句,熟悉这些SQL语句的使用方式,学会了之后,还要去学会相应的操作API,如果换另一种数据库了,我们又要重复做相同的事情,正因为这些原因,导致了ORM的兴起,用ORM的操作API,最后构造成需要的SQL语句,然后执行,其实相当于做了一次封装,让我们不再直接操作SQL语句,这样不管是什么数据库,我们就直接用ORM就可以了,降低了代码的维护成本,也减轻了我们的压力,节省了时间。
编程能力非常弱
前面我们说到,存储过程是一个具有编程能力的数据库对象,但是有一点,它的编程能力非常弱,比如数据类型相比编程语言来说,非常的少,诸如一些数组、对象的操作,用存储过程来实现是非常复杂的,即使实现了,效率也不怎么高,也就失去了实现的意义。
但是不管怎么样,存储过程是数据库中的重要对象,所以我们还是应该花些时间来深刻的了解一下它,作为自己知识的完善,因为毕竟还有一些环境是在使用存储过程的。