title: Should I commit after a single select
body: <p>I am working with MySQL 5.0 from python using the MySQLdb module.</p>
  
  <p>Consider a simple function to load and return the contents of an entire database table:</p>
  
  <pre><code>def load_items(connection):
      cursor = connection.cursor()
      cursor.execute("SELECT * FROM MyTable")
      return cursor.fetchall()
  </code></pre>
  
  <p>This query is intended to be a simple data load and not have any transactional behaviour beyond that single <code>SELECT</code> statement.</p>
  
  <p>After this query is run, it may be some time before the same connection is used again to perform other tasks, though other connections can still be operating on the database in the mean time.</p>
  
  <p>Should I be calling <code>connection.commit()</code> soon after the <code>cursor.execute(...)</code> call to ensure that the operation hasn't left an unfinished transaction on the connection?</p>