mirror of https://github.com/M66B/FairEmail.git
Fixed performance issue
This commit is contained in:
parent
989e5632d3
commit
f9441f5687
|
@ -51,8 +51,8 @@ public interface DaoMessage {
|
|||
", account.notify AS accountNotify, account.summary AS accountSummary, account.leave_deleted AS accountLeaveDeleted, account.auto_seen AS accountAutoSeen" +
|
||||
", folder.name AS folderName, folder.color AS folderColor, folder.display AS folderDisplay, folder.type AS folderType, NULL AS folderInheritedType, folder.unified AS folderUnified, folder.read_only AS folderReadOnly" +
|
||||
", IFNULL(identity.display, identity.name) AS identityName, identity.email AS identityEmail, identity.color AS identityColor, identity.synchronize AS identitySynchronize" +
|
||||
", '[' || (SELECT group_concat(`from`, ',') FROM (SELECT DISTINCT `from` FROM message m0 WHERE m0.account = message.account AND m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS senders" +
|
||||
", '[' || (SELECT group_concat(`to`, ',') FROM (SELECT DISTINCT `to` FROM message m0 WHERE m0.account = message.account AND m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS recipients" +
|
||||
", '[' || (SELECT group_concat(`from`, ',') FROM (SELECT DISTINCT `from` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS senders" +
|
||||
", '[' || (SELECT group_concat(`to`, ',') FROM (SELECT DISTINCT `to` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS recipients" +
|
||||
", COUNT(message.id) AS count" +
|
||||
", SUM(1 - message.ui_seen) AS unseen" +
|
||||
", SUM(1 - message.ui_flagged) AS unflagged" +
|
||||
|
@ -77,7 +77,7 @@ public interface DaoMessage {
|
|||
" THEN message.received ELSE 0 END) AS dummy" +
|
||||
" FROM message" +
|
||||
|
||||
" JOIN message AS mm ON mm.account = message.account AND mm.thread = message.thread" +
|
||||
" JOIN message AS mm ON mm.thread = message.thread" +
|
||||
" AND (NOT :found OR mm.ui_found) AND (NOT mm.ui_hide OR :debug)" +
|
||||
" JOIN folder AS ff ON ff.id = mm.folder" +
|
||||
" AND (:found OR (:type IS NULL AND ff.unified) OR (:type IS NOT NULL AND ff.type = :type))" +
|
||||
|
@ -129,8 +129,8 @@ public interface DaoMessage {
|
|||
", account.notify AS accountNotify, account.summary AS accountSummary, account.leave_deleted AS accountLeaveDeleted, account.auto_seen AS accountAutoSeen" +
|
||||
", folder.name AS folderName, folder.color AS folderColor, folder.display AS folderDisplay, folder.type AS folderType, f.inherited_type AS folderInheritedType, folder.unified AS folderUnified, folder.read_only AS folderReadOnly" +
|
||||
", IFNULL(identity.display, identity.name) AS identityName, identity.email AS identityEmail, identity.color AS identityColor, identity.synchronize AS identitySynchronize" +
|
||||
", '[' || (SELECT group_concat(`from`, ',') FROM (SELECT DISTINCT `from` FROM message m0 WHERE m0.account = message.account AND m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS senders" +
|
||||
", '[' || (SELECT group_concat(`to`, ',') FROM (SELECT DISTINCT `to` FROM message m0 WHERE m0.account = message.account AND m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS recipients" +
|
||||
", '[' || (SELECT group_concat(`from`, ',') FROM (SELECT DISTINCT `from` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS senders" +
|
||||
", '[' || (SELECT group_concat(`to`, ',') FROM (SELECT DISTINCT `to` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS recipients" +
|
||||
", COUNT(message.id) AS count" +
|
||||
", SUM(1 - message.ui_seen) AS unseen" +
|
||||
", SUM(1 - message.ui_flagged) AS unflagged" +
|
||||
|
@ -154,7 +154,7 @@ public interface DaoMessage {
|
|||
" THEN message.received ELSE 0 END) AS dummy" +
|
||||
" FROM message" +
|
||||
|
||||
" JOIN message AS mm ON mm.account = message.account AND mm.thread = message.thread" +
|
||||
" JOIN message AS mm ON mm.thread = message.thread" +
|
||||
" AND (NOT :found OR mm.ui_found) AND (NOT mm.ui_hide OR :debug)" +
|
||||
" AND message.folder = :folder" +
|
||||
|
||||
|
|
Loading…
Reference in New Issue