A NOTE has been added to this issue.
======================================================================
http://dbmail.org/mantis/view.php?id=836
======================================================================
Reported By: waza123
Assigned To:
======================================================================
Project: DBMail
Issue ID: 836
Category: IMAP daemon
Reproducibility: always
Severity: minor
Priority: normal
Status: new
target:
======================================================================
Date Submitted: 28-Jan-10 00:24 CET
Last Modified: 29-Jan-10 00:25 CET
======================================================================
Summary: Slow query..
Description:
And again, IMAPD is too slow..
Here is logs from mysql
# Time: 100127 11:48:47
# u...@host: dbmail[dbmail] @ localhost []
# Query_time: 133 Lock_time: 0 Rows_sent: 0 Rows_examined: 16077033
SELECT m.message_idnr, n.headername, v.headervalue FROM dbmail_header h
JOIN dbmail_messages m ON h.physmessage_id=m.physmessage_id JOIN
dbmail_headername n ON h.headername_id=n.id JOIN dbmail_headervalue v ON
h.headervalue_id=v.id WHERE m.mailbox_idnr = 5969 AND m.message_idnr
BETWEEN 886017 AND 889972 AND lower(n.headername) IN
('newsgroups','content-md5','content-disposition','content-language','content-location','followup-to','references');
# Time: 100127 11:50:04
# u...@host: dbmail[dbmail] @ localhost []
# Query_time: 97 Lock_time: 0 Rows_sent: 0 Rows_examined: 16077033
SELECT m.message_idnr, n.headername, v.headervalue FROM dbmail_header h
JOIN dbmail_messages m ON h.physmessage_id=m.physmessage_id JOIN
dbmail_headername n ON h.headername_id=n.id JOIN dbmail_headervalue v ON
h.headervalue_id=v.id WHERE m.mailbox_idnr = 5969 AND m.message_idnr
BETWEEN 886017 AND 889972 AND lower(n.headername) IN
('newsgroups','content-md5','content-disposition','content-language','content-location','followup-to','references');
# Time: 100127 20:42:34
# u...@host: dbmail[dbmail] @ localhost []
# Query_time: 106 Lock_time: 0 Rows_sent: 0 Rows_examined: 16132997
SELECT m.message_idnr, n.headername, v.headervalue FROM dbmail_header h
JOIN dbmail_messages m ON h.physmessage_id=m.physmessage_id JOIN
dbmail_headername n ON h.headername_id=n.id JOIN dbmail_headervalue v ON
h.headervalue_id=v.id WHERE m.mailbox_idnr = 8762 AND m.message_idnr
BETWEEN 847922 AND 889477 AND lower(n.headername) IN
('newsgroups','content-md5','content-disposition','content-language','content-location','followup-to','references');
# Time: 100128 1:15:52
# u...@host: dbmail[dbmail] @ localhost []
# Query_time: 103 Lock_time: 0 Rows_sent: 0 Rows_examined: 16150734
SELECT m.message_idnr, n.headername, v.headervalue FROM dbmail_header h
JOIN dbmail_messages m ON h.physmessage_id=m.physmessage_id JOIN
dbmail_headername n ON h.headername_id=n.id JOIN dbmail_headervalue v ON
h.headervalue_id=v.id WHERE m.mailbox_idnr = 24 AND m.message_idnr BETWEEN
317320 AND 320980 AND lower(n.headername) IN
('newsgroups','content-md5','content-disposition','content-language','content-location','followup-to','references');
latest git. Server no load 1:20am at night.
A bit info about mailbox:
It's my stress test mailbox, it's receive a large amount of spam.
Unread inbox messages: 707
Unread spam messages: 13793
Mailbox size: 209 MB
What i do is:
Select spam box, then go to Page: 900 of 1380
And here you go, very slow query.
Advice ? Fix ?
Thanks.
======================================================================
----------------------------------------------------------------------
(0003005) waza123 (reporter) - 28-Jan-10 00:27
http://dbmail.org/mantis/view.php?id=836#c3005
----------------------------------------------------------------------
And about tables:
dbmail_header = 7,974,522 rows
dbmail_messages = 315,591 rows
dbmail_headervalue = 2,285,067 rows
----------------------------------------------------------------------
(0003009) paul (administrator) - 28-Jan-10 14:12
http://dbmail.org/mantis/view.php?id=836#c3009
----------------------------------------------------------------------
Could you please test if using explicit LEFT JOIN would improve the
response time?
SELECT m.message_idnr, n.headername, v.headervalue FROM dbmail_header h
LEFT JOIN dbmail_messages m ON h.physmessage_id=m.physmessage_id LEFT JOIN
dbmail_headername n ON h.headername_id=n.id LEFT JOIN dbmail_headervalue v
ON h.headervalue_id=v.id WHERE m.mailbox_idnr = 24 AND m.message_idnr
BETWEEN 317320 AND 320980 AND lower(n.headername) IN
('newsgroups','content-md5','content-disposition','content-language','content-location','followup-to','references');
----------------------------------------------------------------------
(0003010) waza123 (reporter) - 28-Jan-10 15:28
http://dbmail.org/mantis/view.php?id=836#c3010
----------------------------------------------------------------------
Tell where to change it, in which cpp file and which line ?
----------------------------------------------------------------------
(0003011) waza123 (reporter) - 29-Jan-10 00:21
http://dbmail.org/mantis/view.php?id=836#c3011
----------------------------------------------------------------------
found , dbmail-imapsession.c , str: 648
will test now..
----------------------------------------------------------------------
(0003012) waza123 (reporter) - 29-Jan-10 00:25
http://dbmail.org/mantis/view.php?id=836#c3012
----------------------------------------------------------------------
ok, works.. it's now faster, but not enough
# Time: 100129 1:22:20
# u...@host: dbmail[dbmail] @ localhost []
# Query_time: 3 Lock_time: 0 Rows_sent: 0 Rows_examined: 21966
SELECT m.message_idnr, n.headername, v.headervalue FROM dbmail_header h
LEFT JOIN dbmail_messages m ON h.physmessage_id=m.physmessage_id LEFT JOIN
dbmail_headername n ON h.headername_id=n.id LEFT JOIN dbmail_headervalue v
ON h.headervalue_id=v.id WHERE m.mailbox_idnr = 24 AND m.message_idnr
BETWEEN 441428 AND 446398 AND lower(n.headername) IN
('newsgroups','content-md5','content-disposition','content-language','content-location','followup-to','references');
Issue History
Date Modified Username Field Change
======================================================================
28-Jan-10 00:24 waza123 New Issue
28-Jan-10 00:25 waza123 Issue Monitored: waza123
28-Jan-10 00:25 waza123 Issue End Monitor: waza123
28-Jan-10 00:27 waza123 Note Added: 0003005
28-Jan-10 14:12 paul Note Added: 0003009
28-Jan-10 15:28 waza123 Note Added: 0003010
29-Jan-10 00:21 waza123 Note Added: 0003011
29-Jan-10 00:25 waza123 Note Added: 0003012
======================================================================
_______________________________________________
Dbmail-dev mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev