From 4bb04fc5758f566e58d560d6f8c510c5cb038486 Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Fri, 26 Jun 2009 10:31:33 +0200 Subject: [PATCH 1/1] Helping Postgres' Query Planer. Note: this does not guarantee, that issues with Postgres are resolved for everyone. These changes produced very good results in a couple of test series. Let me know how they work out for you. --- src/core/SQL/PostgreSQL/14/select_messages.sql | 2 +- src/core/SQL/PostgreSQL/14/select_messagesNewerThan.sql | 2 +- src/core/SQL/PostgreSQL/14/select_messagesRange.sql | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/SQL/PostgreSQL/14/select_messages.sql b/src/core/SQL/PostgreSQL/14/select_messages.sql index eae93cf6..1bd2683f 100644 --- a/src/core/SQL/PostgreSQL/14/select_messages.sql +++ b/src/core/SQL/PostgreSQL/14/select_messages.sql @@ -1,6 +1,6 @@ SELECT messageid, time, type, flags, sender, message FROM backlog -JOIN sender ON backlog.senderid = sender.senderid +LEFT JOIN sender ON backlog.senderid = sender.senderid WHERE bufferid = $1 ORDER BY messageid DESC LIMIT $2 \ No newline at end of file diff --git a/src/core/SQL/PostgreSQL/14/select_messagesNewerThan.sql b/src/core/SQL/PostgreSQL/14/select_messagesNewerThan.sql index 7dda1891..393d3cfa 100644 --- a/src/core/SQL/PostgreSQL/14/select_messagesNewerThan.sql +++ b/src/core/SQL/PostgreSQL/14/select_messagesNewerThan.sql @@ -1,6 +1,6 @@ SELECT messageid, time, type, flags, sender, message FROM backlog -JOIN sender ON backlog.senderid = sender.senderid +LEFT JOIN sender ON backlog.senderid = sender.senderid WHERE backlog.messageid >= $1 AND bufferid = $2 ORDER BY messageid DESC LIMIT $3 \ No newline at end of file diff --git a/src/core/SQL/PostgreSQL/14/select_messagesRange.sql b/src/core/SQL/PostgreSQL/14/select_messagesRange.sql index e7a6a5a6..9bd86134 100644 --- a/src/core/SQL/PostgreSQL/14/select_messagesRange.sql +++ b/src/core/SQL/PostgreSQL/14/select_messagesRange.sql @@ -1,6 +1,6 @@ SELECT messageid, time, type, flags, sender, message FROM backlog -JOIN sender ON backlog.senderid = sender.senderid +LEFT JOIN sender ON backlog.senderid = sender.senderid WHERE backlog.messageid >= $1 AND backlog.messageid < $2 AND bufferid = $3 -- 2.20.1