首先,我創建5列的表格:SQLAlchemy比Psycopg2更快。我的基準有什麼錯誤?
CREATE TABLE table1
(
a integer,
b character varying,
c character varying,
d numeric,
e numeric
)
其次,我加10萬行的表
https://gist.github.com/ericsalim/1d12628826195b52c5d282c2326f5e00
第三,我選擇使用Psycopg2和SQLAlchemy的
的所有行- 使用Psycopg2:https://gist.github.com/ericsalim/f45d0f0d4babf0e59708c75804eb78c4
- 使用SQLAlchemy的:https://gist.github.com/ericsalim/c8df8adeb9ec49fa8cb1b5c5e8d811f8
爲Psycopg2
結果- 查詢時間:2839.46800232
- 轉換時間:792.379140854
- 資源大小:400036
- rowlist大小:412232
SQLAlchemy的結果如下:
- 查詢時間:2401.74889565
- 轉換時間:377.213001251
- RES尺寸:412232
- rowlist尺寸:412232
如何是有可能,SQLAlchemy的,這是一個ORM層頂端Psycopg2比Psycopg2本身更快?我的代碼有問題嗎?
這裏你不使用ORM,代碼是一樣的,你只是用另一種方式連接到數據庫。嘗試使用python profilers,也許你會發現問題。 –