新工作中的小收获

上了一个多星期,也看了现在公司之前做的一些程序源代码。发现了一个跟我以往习惯很大不同的地方:通常它们一个页面中只会执行一次sql语句,也就是连接数据库一次。而我以前的做法是按照程序逻辑,需要用到的时候再执行必要的sql语句,所以通常一个页面操作数据库在3到4次左右。

深入研究发现,现在公司的页面上的逻辑尽量少,而把很多的逻辑放到sql语句中,并且尽可能地封装成存储过程,实在不行也是写成一个复杂的sql语句字符串,里面可能包括多条sql语句,一次过仍进数据库中去执行,然后将返回的N个记录集都保存在同一个DataSet里面。

这样做的好处是减少了.net应用程序和数据库的连接次数,从而提高了连接池和数据库的使用效率。但另外一方面也有不好之处:由于程序注释以及相关文档的不足,导致程序的可维护性很差。特别是存储过程,一是缺少必要的注释,二是其中的sql语句的复杂程度太高,让后来的程序员很难理解,当要修改其中的语句,或者是对性能做出优化的时候就非常之困难了。

大家怎样看待呢?关于程序开发中如何考虑sql语句和存储过程的使用?欢迎讨论
posted on 2005-04-12 23:12  湘南和也  阅读(2582)  评论(21编辑  收藏  举报