From 2f1c4ed1dff67005abe484df49a889487f54e8c2 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Tue, 2 Feb 2010 15:22:15 +0100 Subject: SQL: Improved query in edit_commit() This one's a lot faster. --- util/sql/func.sql | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'util') diff --git a/util/sql/func.sql b/util/sql/func.sql index 1dcdd496..a0fe2c2f 100644 --- a/util/sql/func.sql +++ b/util/sql/func.sql @@ -168,12 +168,10 @@ BEGIN r.rev := 1; ELSE SELECT c.rev+1 INTO r.rev FROM changes c - LEFT JOIN vn_rev vr ON c.id = vr.id - LEFT JOIN releases_rev rr ON c.id = rr.id - LEFT JOIN producers_rev pr ON c.id = pr.id - WHERE (t = 'v' AND vr.vid = i) - OR (t = 'r' AND rr.rid = i) - OR (t = 'p' AND pr.pid = i) + JOIN ( SELECT id FROM vn_rev WHERE t = 'v' AND vid = i + UNION SELECT id FROM releases_rev WHERE t = 'r' AND rid = i + UNION SELECT id FROM producers_rev WHERE t = 'p' AND pid = i + ) x(id) ON x.id = c.id ORDER BY c.id DESC LIMIT 1; END IF; -- cgit v1.2.3