On Mon, Oct 24, 2016 at 3:46 AM, Joseph L. Casale
<jcas...@activenetwerx.com> wrote:
> It really is that simple which is why I am baffled. Given the throughput is so
> low, if I close the cursor and connection at the end of loop and instantiate 
> them
> both at the start of the loop, it works as expected but that's obviously not 
> optimal.

Interesting. Generally, I allocate cursors exactly at the same time as
I open transactions; not sure if this works with the mysql connector,
but with psycopg2 (PostgreSQL), my code looks like this:

with conn, conn.cursor() as cur:
    cur.execute(...)
    ... = cur.fetchall()

The 'with' block guarantees that (a) the cursor will be closed and all
resources freed, and (b) the transaction will be committed or rolled
back (on exception, roll back, otherwise commit), at the unindent.
It's a nice, clean way to operate. Never had problems with it.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to