In bug
1827250 I suggested Jason Stephenson look at an alternate SQL
formulation to solve the original problem. He did, and deemed it faster,
so went with that. Unfortunately, on PG 9.6, we're seeing some data sets
that decide on a /very/ poor plan for the wide-hold query with the
solution as implemented, but the original suggestion from Jason works
fine.
In the face of evidence controverting my thought that giving PG more
options for planning is better in this case, this commit moves to his
original query change.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
SELECT id
FROM action.hold_request recheck
WHERE recheck.current_copy = cp.id
- ORDER BY capture_time DESC NULLS LAST
+ AND recheck.capture_time IS NOT NULL
+ ORDER BY capture_time DESC
LIMIT 1
)))
SQL