From f9bc0235c11b909e3b2ac6d5bbdd8558424479ff Mon Sep 17 00:00:00 2001
From: Martijn Vermaat <martijn@vermaat.name>
Date: Thu, 21 Jul 2011 07:40:17 +0000
Subject: [PATCH] This is basically r296 and r297 applied to trunk by hand.

git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@303 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
---
 src/Modules/Db.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/Modules/Db.py b/src/Modules/Db.py
index 88a18f77..8e3a1108 100644
--- a/src/Modules/Db.py
+++ b/src/Modules/Db.py
@@ -1487,12 +1487,19 @@ class Batch(Db) :
         @rtype: triple
         """
 
+        # To optimize this query, make sure to have two indices on the
+        # table:
+        # - UNIQUE INDEX (QueueID)
+        # - INDEX (JobID, QueueID)
         statement = """
             SELECT QueueID, Input, Flags
-              FROM BatchQueue
-              WHERE JobID = %s
-              ORDER BY QueueID
-              LIMIT 1;
+            FROM BatchQueue
+            WHERE QueueID = (
+                SELECT MIN(QueueID)
+                FROM BatchQueue
+                GROUP BY JobID
+                HAVING JobID = %s
+            );
         """, jobID
 
         results = self.query(statement)
-- 
GitLab