有没有人有任何经验表明开发人员通过选择使用 ORM(在 Django、RoR、SQLAlechemy 等中)而不是 SQL 和手工设计的数据库可以预期什么样的性能?我认为存在复杂的问题,包括在 ORM 的约束下指定数据库是否会增加或减少创建有效数据库结构的机会(基于开发人员的经验水平),以及开发人员构建SQL 或基于 ORM 的查询(同样基于他/她的经验)。关于这些或内在性能问题的任何信息对我来说都是非常有趣的。
最佳答案
我的建议是在您需要之前不要担心这个 - 不要过早优化。 ORM 可以为开发速度、代码可读性提供许多好处,并且可以消除大量代码重复。如果它能让您的应用程序更易于开发,我建议您使用它。
随着您在开发过程中取得进展,使用基准测试和分析来确定代码中的瓶颈,如果需要,您可以绕过 ORM 并在需要时使用手动查询。通常,您将能够使用缓存和数据库索引(除其他外)提高 ORM 的速度,然后您可以决定需要手动查询的位置。在大多数情况下,ORM 性能可能是可以接受的,使用它的好处将远远超过性能成本。
关于sql - ORM 性能成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451845/