|
原帖由 atgc 于 2011-2-15 08:41 发表 ![]()
想要用"标准SQL" 去适应不同数据库,我觉得是很难的事情,基本不太可能吧
比如分页,不同的数据库不同的语法,没有标准
从DBA的角度看确实很麻烦,但是在架构师眼里不是问题,因为很多系统的底层框架就支持了不同数据库的分页,程序员只要给出SQL,底层框架自动会转换成不同数据库的分页语法。实际上很多实现跨平台数据库的解决方案都需要有底层框架的支持,程序员只要按规范做就OK了。
很多系统要求跨数据库平台都是出于客户需求。如,你一个软件开发出来,软件卖5万元一套,数据库支持的SQLSERVER(2万元),当有一天你的新客户说我不想采购SQLSERVER,因为我已经有了ORACLE数据库,而且我有ORACLE专业DBA维护系统,如果你的软件不支持ORACLE那我就选择其它软件。OK,软件开发商就会研究如何让他的软件适应于ORACLE。当客户越来越多了,为了打开市场,他可能又开始支持DB2,MYSQL之类的数据库,在这样的发展过程中架构师首先想到的是减少非标准SQL,并且通过底层架构去屏蔽不同数据库的语法,最终实现了跨数据库支持。
存储过程由于语法差异太大,而且是放在数据库系统里,所以从架构上很难支持跨平台。 |
|