From 3da5ce5a30fcaedd59a0806b956358bdd6b50a99 Mon Sep 17 00:00:00 2001 From: bosiraphael Date: Thu, 22 Feb 2024 14:24:42 +0100 Subject: [PATCH] improve query by removing unnecessary JOIN --- .../src/core/messaging/timeline-messaging.service.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/twenty-server/src/core/messaging/timeline-messaging.service.ts b/packages/twenty-server/src/core/messaging/timeline-messaging.service.ts index 570a6b34204..990decaafc6 100644 --- a/packages/twenty-server/src/core/messaging/timeline-messaging.service.ts +++ b/packages/twenty-server/src/core/messaging/timeline-messaging.service.ts @@ -58,15 +58,13 @@ export class TimelineMessagingService { ` SELECT * FROM - (SELECT "messageThread".id, + (SELECT message."messageThreadId" AS id, MAX(message."receivedAt") AS "lastMessageReceivedAt", message.id AS "lastMessageId", message.text AS "lastMessageBody", - ROW_NUMBER() OVER (PARTITION BY "messageThread".id ORDER BY MAX(message."receivedAt") DESC) AS "rowNumber" + ROW_NUMBER() OVER (PARTITION BY message."messageThreadId" ORDER BY MAX(message."receivedAt") DESC) AS "rowNumber" FROM ${dataSourceMetadata.schema}."message" message - LEFT JOIN - ${dataSourceMetadata.schema}."messageThread" "messageThread" ON "messageThread".id = message."messageThreadId" LEFT JOIN ${dataSourceMetadata.schema}."messageParticipant" "messageParticipant" ON "messageParticipant"."messageId" = message.id LEFT JOIN @@ -76,7 +74,7 @@ export class TimelineMessagingService { WHERE person.id = ANY($1) GROUP BY - "messageThread".id, + message."messageThreadId", message.id ORDER BY message."receivedAt" DESC