首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLAlchemy比Psycopg2快。我的基准怎么了?

SQLAlchemy比Psycopg2快。我的基准怎么了?
EN

Stack Overflow用户
提问于 2016-05-22 04:55:47
回答 1查看 2K关注 0票数 1

首先,我创建了一个包含5列的表:

代码语言:javascript
复制
CREATE TABLE table1
(
  a integer,
  b character varying,
  c character varying,
  d numeric,
  e numeric
)

第二,我将100 k行添加到表中。

https://gist.github.com/ericsalim/1d12628826195b52c5d282c2326f5e00

第三,我使用Psycopg2和SQLAlchemy选择所有行。

Psycopg2的结果

  • 查询时间: 2839.46800232
  • 转换时间: 792.379140854
  • res大小: 400036
  • 行列表大小: 412232

SQLAlchemy的结果是:

  • 查询时间: 2401.74889565
  • 转换时间: 377.213001251
  • res大小: 412232
  • 行列表大小: 412232

SQLAlchemy是Psycopg2顶层的ORM层,怎么可能比Psycopg2本身更快呢?我的密码有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 15:03:49

这是DictCursor的开销。将其切换到使用标准游标和整数索引将导致psycopg2的性能优于。我认为SQLAlchemy使用了一种不同的、更有效的方法来支持字符串索引。但除了学术上的好奇心之外,我不会担心两种不同的表现方式之间的差异--对你来说,哪一种更有效率。在大多数真实世界的场景中,您将受到I/O的约束,而且差别很小,不重要。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37370706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档