我真的很困惑,因为我已经听说了很多关于ORM的事情,我想最好的做法是使用ORM而不是编写SQL查询。
我尝试过Django ORM,Laravel ORM,Hibernate,它们返回数据的时间要长得多。
例如:我编写了一个使用原生查询和Django ORM插入数据集的脚本,Django需要4分钟,而我的脚本需要1分钟,或多或少。
我认为在编写api时,响应时间是更重要的事情。
那么,使用查询构建器不是更好的选择吗?
发布于 2020-05-13 18:49:06
ORM基本上是一种将域和类型安全的概念引入数据库工作的方法。当您可以将类和属性与类型一起使用时,编写具有逻辑结构和类型安全的代码变得更容易,也可以重用现有功能。在这些好处之后,ORM的主要优势是安全性和清晰性。此外,ORM可以是一种引入抽象层的方法,允许半无痛苦地从一个数据库迁移到另一个数据库,因为交互的细节隐藏在ORM引擎中。
对于没有许多开发人员参与的小项目或生命周期较短的应用程序,这显然不是必需的,引入ORM可以被认为是一个缺点。
在你的例子中,数据插入缓慢,ORM被指责,可以说你可能没有正确使用ORM,或者你没有以最优化的方式使用它来完成任务。例如,您的脚本可以根本不使用事务,或者可能使用限制性较低的隔离级别,而ORM可以以安全性为目标,而不是速度,在每次插入时创建一个事务,或者利用更严格的隔离级别。
https://stackoverflow.com/questions/61772276
复制相似问题