|
|
原帖由 newkid 于 2010-7-2 00:48 发表 ![]()
其他语言就没有切换了?PLSQL至少和SQL是在同一台机器上!
放到数据库外实现为什么就没问题?
那我看到一段JAVA也是一头雾水!
全用存储过程问题多在哪里?
分层也可以分到DB里面。"SP肯定不是最优的", 举个实例看看?有可能是你的SP没写好。
“存储过程迁移”?数据才有迁移。如果你是说把程序复制到各个库,不用存储过程难道就不用复制了?应用服务器上也得有程序吧!
“如果业务逻辑变化的时候,怎么弄,改存储过程只有”改就改呗,难道放到外面就不用改。
“然后就是在并发比较高的OLTP,性能是很差的”举个实例。
存储过程的调试并不比其他语言更困难。
你这个只是TABLE层面的API, 就是所谓的TAPI, 好的做法是TOM提倡的XAPI, 即事务级别的API. 事务里面可能有多个SQL, 直接写就是,不必再弄一层表级的API.
应用服务器不是最后也要访问DB? 一个事务如果用到10个SQL, 放到应用服务器也是一样,一个都跑不了,最终压力还是会落到DB.
如果你说的是换数据库,趁早打消这个念头,不管怎么做都是很困难的。TOM的书专门有一节讲到为什么独立于数据库的想法是不现实的。
PLSQL实际上更为“通用”,在任何操作系统的ORACLE都一样运行;所有的开发语言都可调用存储过程。
把所有CRUD都做成存储过程不是办法;存储过程应该以事务为单位。
参数也可以用OBJECT来传递,类似PLSQL的记录类型。
如果你的应用服务器被攻击了,别人可以上传脚本做DML那就很危险。把表的权限都收回,只留下存储过程接口相当安全一些。
如果你允许新旧版本程序一起跑,才有可能把APP逐个更新。
不得不佩服newkid大牛,很能辨,不过也仅仅是辨了而已。 |
|