【发布时间】:2010-10-04 10:26:09
【问题描述】:
对于我开发的一些应用程序(后来忘记了),我一直在编写简单的 SQL,主要用于 MySQL。虽然我在 python 中使用过 ORM,比如SQLAlchemy,但我并没有坚持太久。通常是文档或复杂性(在我看来)阻碍了我。
我是这样看的:使用 ORM 来实现可移植性,如果只是要使用一种类型的数据库,则使用纯 SQL。在开发需要数据库支持的应用程序时,我真的在寻找有关何时使用 ORM 或 SQL 的建议。
仔细想想,与使用 ORM 相比,使用轻量级包装器来处理数据库不一致要好得多。
【问题讨论】:
-
标准化、安全性、可维护性、语言抽象、DRY等
-
ORM 的性能可以接近 SQL,这取决于您是否正确使用它并设置正确...请参阅 ho 以使 EF6.x 快 5 倍:linkedin.com/pulse/…
-
对于 ORM 架构和操作方法(要避免什么),这是我的另一个链接:linkedin.com/pulse/…
-
对象-关系映射 (ORM) 在许多编程语言中已经非常流行,并且是 SQL 的最佳替代方案之一。我从方法链风格中获得灵感,为我的 TRIADB 项目创建 CQL。 healis.eu/triadb/#latest-release
-
ORM 是不了解 SQL 或懒于编写 SQL 的借口。如果您不了解 SQL,请使用 ORM。但是不要浪费你的时间认为你在使用 ORM 时会做更少的工作,那将是一个错误的信念。可移植性同意...如果您的项目需要跨数据库的可移植性,请使用 ORM。速度?一直使用 SQL,因为 ORM 并不快。可靠性 我会坚持使用 SQL。安全性,至少两者都没有什么可担心的。最重要的是,这取决于您的项目要求,尤其是在数据库可移植性方面。
标签: sql language-agnostic orm