我发现有些人使用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模式的一部分.所有这些书籍都需要付出代价,但作为回报,在将复杂对象图持久存入关系数据库时,您不必担心操作顺序.有时您不需要所有这些并且只想将一堆行插入到数据库中.