如果我只打算使用MySQL,并且如果速度是优先考虑的,有没有令人信服的理由使用SQLAlchemy?

时间:2010-03-01 20:24:25

标签: python mysql sqlalchemy pylons

如果我使用的只是MySQL,那么SQLAlchemy似乎非常重量级。

为什么在仅使用MySQL的应用程序中使用SQLAlchemy有令人信服的理由。

3 个答案:

答案 0 :(得分:7)

ORM意味着您的OO应用程序在被解释为对象的交互时实际上是有意义的。

没有ORM意味着您必须沉迷于SQL和对象之间的阻抗不匹配。在没有ORM的情况下工作意味着在SQL查询结果集,单个SQL语句和对象之间映射大量冗余代码。

SQLAchemy将您的应用程序干净地划分为交互的对象和(今天)恰好是关系数据库的持久性机制。

使用SQLAlchemy,您可以将核心模型和处理与SQL RDBMS的奇怪限制和怪癖分开。

答案 1 :(得分:4)

我认为性能不应该是您选择的重要因素。与数据库的速度相比,ORM添加的层将是无关紧要的。数据库总是最终成为瓶颈。

使用ORM可以让您以更少的错误更快地开发。如果您的查询与ORM层不兼容,您仍然可以直接访问数据库。

答案 2 :(得分:0)

sqlachemy提供的不仅仅是一个orm,你可以选择/插入/更新/删除表对象,加入它们等....使用这些东西而不是用sql构建字符串的好处是防止sql注入攻击为了一个。您还可以获得一些不必自己编写的良好连接管理。

orm部分可能不适合您的应用程序,但在我看来,滚动自己的sql处理和连接处理真的很愚蠢。