|
|
1
17
使用ORM的价值在于帮助 加快发展 通过自动将查询结果分配给对象字段,并跟踪对对象字段的更改,以便将其保存到数据库,这是一项繁琐的工作。因此这个词 对象关系映射 . ORM对于数据库可移植性没有什么价值,因为您只使用部署在其上的一个数据库。 ORM的运行时性能方面并不比自己编写纯SQL好,而且通常比自己编写纯SQL差得多。正如您所提到的,查询生成的一般方法通常会犯幼稚的错误,并导致冗余查询。同样,好处在于开发时间,而不是运行时效率。 使用ORM和不使用ORM似乎对可伸缩性没有很大影响。其他可扩展性方面的优势更大的技术包括:
有些人主张使用云计算或分布式非关系数据库将数据管理转移到分布式体系结构中。在获得大量用户之前,这可能不是必需的。一旦您增长到一定程度,所有的规则都会改变,您可能无论如何都不能使用RDBMS。但是,除非你是雅虎、Facebook或LinkedIn的数据架构师,否则别担心——云计算被过度炒作了。 人们普遍认为,数据库始终是Web应用程序的瓶颈,但也有一种情况,即提高前端的效率至少同样重要。通过书籍 Steve Souders . Julia Lerman在 编程实体框架 (2009年),第503页显示,在直接使用DataReader和使用Microsoft的Linq to Entities之间,查询执行成本增加了220%。 另请参见Jeff Atwood的帖子 All Abstractions are Failed Abstractions 他指出,即使以一种幼稚的方式,使用LINQ的成本至少是使用普通SQL的两倍。 |
|
|
2
3
以下是我对你观点的回应:
|
|
|
3
1
在我看来,ORM可以帮助你编写更干净、更清晰的代码。如果您不小心使用它,可能会导致过多的查询,但这并不是一个规则。如果我是您,我将开始使用ORM和框架的最佳实践,并且仅当您发现自己需要ORM不提供的功能时才转到SQL。 |
|
4
0
还请注意,在Web应用程序中,许多人正在远离SQL数据库。ORM可能会帮助您迁移到非关系数据库(正是因为您的应用程序代码中没有SQL)。看看JDO和JPA在谷歌应用引擎中的使用。 |
|
|
5
0
伊姆霍。ORM是需要的。
|
|
6
-1
您的站点足够大,以至于扩展成为一个问题的几率非常小,所以为什么过早地通过使用原始SQL而不是ORM来进行优化呢?如果数据库和应用程序设计合理的话,您可以通过向数据库投掷更好的硬件来达到相当远的目的。虽然您可能需要为创建朋友图之类的事情编写原始SQL,但是当有人更改数据库时更新数据库、发送私人消息、上载照片等所有的小事情呢?使用ORM可以简化所有必须完成的简单数据库任务,同时允许您在绝对必要的情况下提交代码。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |