[Neo-report] r2322 gregory - /trunk/neo/storage/database/mysqldb.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Oct 1 16:11:58 CEST 2010


Author: gregory
Date: Fri Oct  1 16:11:58 2010
New Revision: 2322

Log:
Optimize SQL query to take advantage of indexes in getLastTID.

Modified:
    trunk/neo/storage/database/mysqldb.py

Modified: trunk/neo/storage/database/mysqldb.py
==============================================================================
--- trunk/neo/storage/database/mysqldb.py [iso-8859-1] (original)
+++ trunk/neo/storage/database/mysqldb.py [iso-8859-1] Fri Oct  1 16:11:58 2010
@@ -250,7 +250,8 @@ class MySQLDatabaseManager(DatabaseManag
         # is worth.
         q = self.query
         self.begin()
-        ltid = q("""SELECT MAX(tid) FROM trans""")[0][0]
+        ltid = q("SELECT MAX(value) FROM (SELECT MAX(tid) AS value FROM trans "
+                    "GROUP BY partition) AS foo")[0][0]
         if all:
             tmp_ltid = q("""SELECT MAX(tid) FROM ttrans""")[0][0]
             if ltid is None or (tmp_ltid is not None and ltid < tmp_ltid):





More information about the Neo-report mailing list