日期:2014-05-19  浏览次数:20698 次

问几个WEB应用时候考虑的问题,经验丰富的高手来
1.怎样分页效率高? 自己写存储过程还是用框架的API


我最想知道的是第二个
2.经常要用连接查询 
  到底是在数据库里面写视图(我把查询要用到的连接的表全部合在一起当做视图)
   
  还是用框架提供的API 比如hibernate提供的关联操作

以上到底哪个在实际开发中使用的多 效率好 或者有其他方法???



------解决方案--------------------
从规范上来讲,业务逻辑层实现的东西就不要放到数据层去实现。特别是在多数据库的系统里,如果在数据库里实现逻辑,那么每一个数据库都得为同种功能写一个存储过程或做一个视图,是非常不划算的。因此,对于分页也尽量在业务逻辑层中自己实现,如果找得到很成熟的代码或框架,是最理想的。

MVC模式其实就是为了让每一层干自己该干的事,如果业务逻辑都放在数据库里解决,体现不出MVC的优势,也不便于对系统的维护。

但是,对于一些小系统,不考虑今后会更换不同方言的数据库,为了提高开发效率,那么可以考虑在数据库中进行一定量的逻辑开发。开发人员不要认定某一种开必模式,有些时候需要根据项目来决定。
------解决方案--------------------
分页一般项目用API或者框架吧,很多支持分页的,很简单。

存储过程不是必要的 或者数据库业务很重要的,如银行项目,最好不用。 

第二个问题,如果项目比较大型且稳定,后期维护将占有很大工作量的话,用视图等数据库操作,而且扩展性也好。。(毕竟SSH这类框架根据新需求很可能要换掉的。hibernate在大型、数据库复杂项目中不适合。)

不然用框架最简单。

这些问题主要是针对 业务,从扩展和复用、维护 与 开发难度等角度维持一个最好的平衡,没什么标准答案了。

数据库方面效率的话,重用SQL效率最高,不用每次都解析。