SQL是写在程序里还是存储过程中好?

SQL是写在程序里还是存储过程中好?

1,方便性

    如果SQL更改返回的字段不改变时,程序可以不用改,但是这个谁说的定返回的东西不变,所以就后续维护,把SQL写在程序中对于维护是更方便些的。

2,运行速度

   把SQL写在程序中,就得编译之后才能正在数据库中执行SQL,如果运用了ORM,如Java中使用Hibernate的HQL时得根据对象-关系映射文件中的映射信息,

   把HQL解析成对应的SQL语句,才能与数据库真正关联上。


 存储过程就是对语句进行批量执行,语句多时比较快捷,如果语句比较少就没有必要做成存储过程,但是不能一概而论,具体问题具体分析,但是为了运行速度牺牲下

维护的方便性个人认为还是值得的。

如果能把BLL的复杂度是可以在DAL上花功夫,可以简化程序复杂度还在大大的加快运行速度的。


三层开发(软件项目开发)

编辑
业务逻辑层(Business Logic Layer)
三层结构为:
1.表示层(USL - User Show Layer):主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
2.业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。
3.数据访问层(DAL - Data Access Layer):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。


你可能感兴趣的:(Java,数据库,存储过程,sql,BLL,DAL)