<分区>
我读了this post昨晚,我注意到它是从 2006 年开始的。我可以在 ORM 和数据库方面采取任何一种方式,但我只是想知道 Jeff 所说的关于 ORM 的所有坏话是否仍然适用,考虑到该帖子是从 2006 年开始的。
<分区>
我读了this post昨晚,我注意到它是从 2006 年开始的。我可以在 ORM 和数据库方面采取任何一种方式,但我只是想知道 Jeff 所说的关于 ORM 的所有坏话是否仍然适用,考虑到该帖子是从 2006 年开始的。
最佳答案
这仍然是真的。
如果没有按照预期的方式准确处理数据库,数据库就会受到影响,甚至超过 OO 软件。并且您不应该在它前面插入一些抽象层。
我认为不可渗透的抽象层是试图 build 一座乐高城堡,所有部件都封闭在一个枕套中。 SQL很难正确执行。它与过程式编程并没有太多相同的模式,并且一种模式的最佳实践可能与另一种模式相反。您需要能够理解 SQL 语句中的每一项,并且非常清楚它打算做什么,以及它实际上做了什么。
很多人似乎认为,就像马蹄铁一样,接近就足够了 - 如果弹出正确答案,则意味着您就快到了。在 SQL 中,这根本不是真的。
由于这个原因,RoR 和 ActiveRecord 模式当之无愧地赢得了 dbms 资源消耗者的名声。优化的 ActiveRecord 设计往往是次优的 SQL 设计,因为它鼓励 SQL 语句分解。
关于database - ORM 还是 "Vietnam of Computer Science"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/404083/