performance issue with psycopg - Mailing list psycopg
From | Sushant Sinha |
---|---|
Subject | performance issue with psycopg |
Date | |
Msg-id | 1323708082.2132.6.camel@dragflick Whole thread Raw |
Responses |
Re: performance issue with psycopg
|
List | psycopg |
I am using psycopg 2.4.2 and facing performance issue. An explain analyze of the query on the database shows 0.75secs. But when used through the psycopg layer I am seeing 1.5 secs. Any idea why the extra cost and how to optimize it? from psycopg2.extras import DictCursor from psycopg2.extensions import UNICODE, UNICODEARRAY psycopg2.extensions.register_type(UNICODE) psycopg2.extensions.register_type(UNICODEARRAY) cursor = dbCnx.cursor(cursor_factory=DictCursor) cursor.execute(query, params) results = cursor.fetchall() Here is the profiling for extras.py: 35 0.896 0.026 0.896 0.026 extras.py:118(execute) 35 0.296 0.008 0.778 0.022 extras.py:80(fetchall) 276433 0.270 0.000 0.314 0.000 extras.py:148(__setitem__) 1 0.001 0.001 0.129 0.129 extras.py:5(<module>) 25153 0.112 0.000 0.116 0.000 extras.py:139(__init__) 17176 0.018 0.000 0.028 0.000 extras.py:143(__getitem__) 1 0.000 0.000 0.002 0.002 extras.py:566(HstoreAdapter) 1 0.000 0.000 0.002 0.002 extras.py:762(CompositeCaster) 4001 0.001 0.000 0.001 0.000 extras.py:162(has_key) 35 0.000 0.000 0.000 0.000 extras.py:128(_build_index) 35 0.000 0.000 0.000 0.000 extras.py:113(__init__) 35 0.000 0.000 0.000 0.000 extras.py:50(__init__) 46 0.000 0.000 0.000 0.000 extras.py:914(<lambda>) 1 0.000 0.000 0.000 0.000 extras.py:254(NamedTupleCursor) 10 0.000 0.000 0.000 0.000 extras.py:156(keys) 1 0.000 0.000 0.000 0.000 extras.py:134(DictRow) 1 0.000 0.000 0.000 0.000 extras.py:373(LoggingCursor) 1 0.000 0.000 0.000 0.000 extras.py:47(DictCursorBase) 1 0.000 0.000 0.000 0.000 extras.py:433(UUID_adapter) 1 0.000 0.000 0.000 0.000 extras.py:389(MinTimeLoggingConnection) 1 0.000 0.000 0.000 0.000 extras.py:110(DictCursor) 1 0.000 0.000 0.000 0.000 extras.py:493(Inet) 1 0.000 0.000 0.000 0.000 extras.py:233(RealDictRow) 1 0.000 0.000 0.000 0.000 extras.py:203(RealDictCursor) 1 0.000 0.000 0.000 0.000 extras.py:326(LoggingConnection) 1 0.000 0.000 0.000 0.000 extras.py:248(NamedTupleConnection) 1 0.000 0.000 0.000 0.000 extras.py:195(RealDictConnection) 1 0.000 0.000 0.000 0.000 extras.py:416(MinTimeLoggingCursor) 1 0.000 0.000 0.000 0.000 extras.py:102(DictConnection)