首先,我创建了一个包含5列的表:
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的结果
SQLAlchemy的结果是:
SQLAlchemy是Psycopg2顶层的ORM层,怎么可能比Psycopg2本身更快呢?我的密码有什么问题吗?
发布于 2016-06-15 15:03:49
这是DictCursor的开销。将其切换到使用标准游标和整数索引将导致psycopg2的性能优于。我认为SQLAlchemy使用了一种不同的、更有效的方法来支持字符串索引。但除了学术上的好奇心之外,我不会担心两种不同的表现方式之间的差异--对你来说,哪一种更有效率。在大多数真实世界的场景中,您将受到I/O的约束,而且差别很小,不重要。
https://stackoverflow.com/questions/37370706
复制相似问题