如果我只打算使用MySQL,并且速度是最重要的因素,那么有什么充分的理由使用SQLAlchemy吗?

3

如果我只使用MySQL,SQLAlchemy似乎非常笨重。

在仅使用MySQL的应用程序中使用SQLAlchemy的理由和反对理由是什么?


这应该是一个社区维基问题,因为它只是一个讨论话题。 - S.Lott
3个回答

7
ORM 意味着你的面向对象应用程序在解释为对象交互时实际上是有意义的。
没有 ORM 意味着你必须在 SQL 和对象之间挣扎。没有 ORM 工作意味着大量冗余代码来映射 SQL 查询结果集、单个 SQL 语句和对象。
SQLAlchemy 将你的应用程序清晰地分成相互作用的对象和持久性机制,今天这个机制恰好是关系数据库。
使用 SQLAlchemy,你有希望将核心模型和处理与 SQL 关系型数据库的奇怪限制和怪癖分离开来。

4

我不认为性能在你的选择中应该是一个重要因素。与数据库速度相比,ORM添加的层次将微不足道。数据库总是成为瓶颈。

使用ORM可以让您更快地开发并减少错误。如果您有一个在ORM层上运行不好的查询,仍然可以直接访问DB。


0

Sqlalchemy 提供的不仅是 orm,您可以从表对象中选择/插入/更新/删除它们,加入它们等等...使用这些功能的好处之一是防止 sql 注入攻击。此外,您还可以获得一些不需要自己编写的良好的连接管理。

orm 可能不适合您的应用程序,但在我看来,自己编写 sql 处理和连接处理是非常愚蠢的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接