为什么阿里巴巴Java开发手册里要求禁止使用存储过程?
首发

为什么阿里巴巴Java开发手册里要求禁止使用存储过程?

优质
请用语音读文章

热门回答:

存储过程。最早的概念据我推断是来自于Oracle。最早oracle是只有函数的概念。依稀记得是oracle8还是9才加的存储过程package的概念。用于解决函数过于碎片化、不具备复杂的多逻辑功能。同时便于文件管理加入的概念。到后期基本所有数据库也都有了存储过程。如:mysql。sybase等。

存储过程是基于数据库底层的语法。与数据库是相互依存的。且各个类型数据库语法都不一样。

Java语言在很大一部分的优势就是为了解耦合和可移植性。所以也有经典的dao模式。目的也就是把数据库和业务层分开。如果直接调用存储过程。混淆了业务和数据库分层。打破了Java模式设计的初衷。而且。如果用存储过程写。比如原来用Oracle数据库。现在客户要求改成免费的Mysql数据库。意味着基本所有的存储过程全部要重写。基本不具备可移植性。

当然。万事没有绝对。阿里的整套体系庞大。数据库的能力强大。中间件的主机也足够横向扩展。像我们一般的项目没那么多的主机和算力可搭配。有时碰上复杂的报表或复杂的逻辑。也不得不借用数据库存储过程来实现。

一般来说。项目上数据库主机的配置比web主机相对强大得多。且存储过程在数据库操作逻辑上天然的快。在web主机不能横向扩展的情况下。也只能借用存储过程来实现。当然。用存储过程来处理也是占比很少。逼不得已情况下才使用。

其他观点:

存储过程不利于移植。受数据库限制。而且阿里巴巴都是大型分布式集群存储过程更是劣势巨大!越是大型的分布式系统越是追求编码业务而不是绑死在数据库上。因为你不知道那一天就要换数据库了

其他观点:

Java人多 程序处理数据更方便

以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

大家都有什么挣小快钱的路子?

请用语音读文章热门回答:其他观点:推广收款码。现在这个比较好做。不过这个要投一[&h...

二手苹果x有锁美版2000块钱,换过国产屏幕的,值吗?

请用语音读文章热门回答:换个屏幕还是算了吧。这个价格你可以选择有很多。美版的机器[&...

win10系统用什么压缩软件好?

请用语音读文章热门回答:推荐Bandizip。用过都说好。这是一款来自韩国的应[&h...

电子商务法正式实施后,对现在的电商市场会造成哪些影响?

请用语音读文章热门回答:影响肯定有。最主要是规范。其他观点:电子商务法的实施[&he...

发表评论

您的电子邮箱地址不会被公开。

评论(2)

  • 少女恶习 永久VIP 2022年10月2日 00:50:36

    存储过程,数据库,主机,概念,逻辑,分布式,业务,来实现,不具备,横向

  • 归属感 永久VIP 2022年10月2日 00:50:36

    没想到大家都对为什么阿里巴巴Java开发手册里要求禁止使用存储过程?感兴趣,不过这这篇解答确实也是太好了

  • 眼泪、说拜拜 永久VIP 2022年10月2日 00:50:36

    存储过程。最早的概念据我推断是来自于Oracle。最早oracle是只有函数的概念。依稀记得是oracle8还是9才加的