sql - ORM 性能成本

标签 sql database performance orm frameworks

有没有人有任何经验表明开发人员通过选择使用 ORM(在 Django、RoR、SQLAlechemy 等中)而不是 SQL 和手工设计的数据库可以预期什么样的性能?我认为存在复杂的问题,包括在 ORM 的约束下指定数据库是否会增加或减少创建有效数据库结构的机会(基于开发人员的经验水平),以及开发人员构建SQL 或基于 ORM 的查询(同样基于他/她的经验)。关于这些或内在性能问题的任何信息对我来说都是非常有趣的。

最佳答案

我的建议是在您需要之前不要担心这个 - 不要过早优化。 ORM 可以为开发速度、代码可读性提供许多好处,并且可以消除大量代码重复。如果它能让您的应用程序更易于开发,我建议您使用它。

随着您在开发过程中取得进展,使用基准测试和分析来确定代码中的瓶颈,如果需要,您可以绕过 ORM 并在需要时使用手动查询。通常,您将能够使用缓存和数据库索引(除其他外)提高 ORM 的速度,然后您可以决定需要手动查询的位置。在大多数情况下,ORM 性能可能是可以接受的,使用它的好处将远远超过性能成本。

关于sql - ORM 性能成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451845/

相关文章:

php - Mysql查询找不到第一个词

php - 获取所有选中复选框的值并将它们插入数据库 - PHP

performance - 访问映射到同一物理地址的虚拟地址是否会受到惩罚?

performance - sybase - count(*) 和 count(1) 之间是否存在任何性能差异

java - 如何有效地从另一个字符串中删除一个字符串的所有实例?

sql - 规范化自引用属性

mysql - 使用 REGEX 重新格式化字符串

mysql - 如何获取与 sql 表上的 id 匹配的名称?

sql - Rails Activerecord 关系 : using subquery as a table for a SQL select statement

android - SQLite 实现安卓