第一判断是数据库,例如Oracle和Mysql的对比,Mysql铁定不许使用存储过程,虽然5.0以后有存储过程,要是纠结,就认为免费的数据库无资格使用存储过程,IBM,微软,sun等这些大公司投入资本进行研发,又是收费服务,自己判断下,
第二判断是业务,业务非常成熟,数据库表设计抽象并且成熟稳定,因为如果项目使用了大量的存储过程,交付客户以后,随着后续需求的增加,业务的变更,数据库表结构变化,存储过程是非常难受的一个点,所以小项目的前期要考虑到位,后期做大版本优化可以试试业务逻辑移到数据库,话说回来,小项目使用的mysql又比较多,总之业务成熟,数据库表结构稳定,数据和数据之间的交际使用存储过程比较好,编译一次,多次使用,‘
第三判断业务场景,异步事务和访问数据库次数,异步事务在时间长宽松了一点,如果访问数据库的次数又很少,那逻辑写在代码里,要是事务很紧急,访问数据库的次数很频繁,例如数据量非常大,在程序里取出了这么大的数据集合又进行了业务逻辑就影响了速度,使用存储过程的效率提升很明显,