python – 为什么人们使用sqlalchemy CORE来保存数据并使用sqlalchemy ORM来查询数据

我发现有些人使用sqlalchemy ORM来查询数据,但是使用sqlalchemy CORE来插入数据.为什么他们这样做?为什么他们不在一个
Python代码(类)中保持一致?

Sqlalchemy ORM最终将转换为CORE,对吧?同时使用核心和orm,是否使程序更快?我在这里找到一句话(What is the difference between sqlalchemy core and ORM?)

particularly based on information only available at runtime

这是否意味着CORE更快还是什么?我真的很困惑.任何人都可以提前帮助,谢谢.

最佳答案 您应该在文档中查看
this performance comparison and explanation.基本上它解释了ORM如何以及为什么不适合Core可能处理的大型批量插件.会议中也有
bulk operations,但他们有权衡.

虽然ORM确实构建在Core之上,但它不仅仅是简单的“将这些对象保存到数据库”.它跟踪会话中对象的更改,并定期将这些挂起的更改刷新到DB.这是unit of work模式的一部分.所有这些书籍都需要付出代价,但作为回报,在将复杂对象图持久存入关系数据库时,您不必担心操作顺序.有时您不需要所有这些并且只想将一堆行插入到数据库中.

点赞