I'm sorry if this is too much info, this is the complete logged transaction 
when I open a message for reading from Outlook:

================================================
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: IMAPClientHandler(): line read for 
PID 25569
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: COMMAND: [000W UID FETCH 8132 (UID 
FLAGS BODY.PEEK[] INTERNALDATE)]
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[0]: 'FETCH'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[1]: '8132'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[2]: '('
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[3]: 'UID'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[4]: 'FLAGS'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[5]: 'BODY.PEEK'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[6]: '['
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[7]: ']'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[8]: 'INTERNALDATE'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: arg[9]: ')'
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: IMAPClientHandler(): Executing 
command uid...
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
permission,seen_flag,answered_flag,deleted_flag,flagged_flag,recent_flag,draft_flag
  FROM mailboxes WHERE mailbox_idnr = 1]
  Apr 14 14:41:35 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
message_idnr, seen_flag, recent_flag FROM messages WHERE mailbox_idnr = 1 AND 
status<2 AND unique_id!="" ORDER BY message_idnr ASC]
  Apr 14 14:41:36 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
message_idnr FROM messages WHERE unique_id!=""ORDER BY message_idnr DESC LIMIT 
0,1]
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: next_fetch_item(): args[idx = 2] = 
UID (returning 3)
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: next_fetch_item(): args[idx = 3] = 
FLAGS (returning 4)
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: next_fetch_item(): args[idx = 7] = 
INTERNALDATE (returning 8)
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: Fetching msgID 8132 (fetch num 
8133)^M
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
seen_flag, answered_flag, deleted_flag, flagged_flag, draft_flag, recent_flag 
FROM messages WHERE message_idnr = 8132 AND status<2 AND unique_id != '' AND 
mailbox_idnr = 1]
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
messageblk FROM messageblks WHERE message_idnr= 8132 ORDER BY messageblk_idnr]
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
messageblk FROM messageblks WHERE message_idnr= 8132 ORDER BY messageblk_idnr]
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_start_msg(): starting, 
stopbound: '(null)'
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: mime_readheader(): entering mime 
loop
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: mime_readheader(): found double 
newline; header size: 28 lines
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_start_msg(): found singlepart 
msg
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: update msgbuf updating 
4969277292544 395136991232 395136991232 578697433832226816
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: update msgbuf: entire fit
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: update msgbuf succes NOMORE
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_start_msg(): exit
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: Dumping range: (1,0) - (1,91)
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
messageblk FROM messageblks WHERE message_idnr= 8132 ORDER BY   messageblk_idnr]
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: db_query(): executing [SELECT 
internal_date FROM messages WHERE mailbox_idnr= 1 AND message_idnr = 8132 AND 
unique_id!=""]
  Apr 14 14:41:37 www1 dbmail/imap4d[25569]: IMAPClientHandler(): Finished 
command uid
================================================

/Johan

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf
> Of Roel Rozendaal - IC&S
> Sent: Monday, April 14, 2003 1:06 PM
> To: dbmail@dbmail.org
> Subject: Re: [Dbmail] Necessary to select/sort all messages for each
> IMAP read??
> 
> 
> Hmm that's not quite efficient.. Could you send the imap commands 
> outlook is executing? You'll find them in the log; try the following:
> 
> tail -f /var/log/mail.log | grep imap4d | grep COMMAND
> 
> regards roel
> 
> 
> Johan Ekenberg heeft op maandag, 14 apr 2003 om 12:01 
> (Europe/Amsterdam) het volgende geschreven:
> 
> > Hi!
> >
> > I'm evaluating dbmail for a large mailsystem which is required to 
> > handle just a small number of mailboxes but with a very large number 
> > of mail in each, at least 200000 per mailbox.
> >
> > So, I imported ~39000 mail into dbmail 1.1 and connected by IMAP with 
> > MS Outlook. I see that dbmail runs a very time consuming query *each 
> > time* I request a message:
> >
> >   SELECT message_idnr, seen_flag, recent_flag
> >   FROM messages
> >   WHERE mailbox_idnr = 1 AND status<2 AND unique_id!=""
> >   ORDER BY message_idnr ASC
> >
> > This query takes about 1.5 sec with 39000 mail so it will be 
> > impossible with 200k mail. Is there anything to do about this? Is this 
> > query really necessary for each read mail? In my mind, the main 
> > advantage with using SQL is to be able to quickly select *one* item 
> > out of millions by use of clever indexes? Here we select *all* 
> > messages and on top of that we sort them?
> >
> > Grateful for your help, dbmail looks so promising except for the above!
> >
> > Regards,
> > /Johan Ekenberg
> >
> > _______________________________________________
> > Dbmail mailing list
> > Dbmail@dbmail.org
> > https://mailman.fastxs.nl/mailman/listinfo/dbmail
> >
> 
> _________________________
> R.A. Rozendaal
> ICT Manager
> IC&S
> T: +31 30 2322878
> F: +31 30 2322305
> www.ic-s.nl
> 
> _______________________________________________
> Dbmail mailing list
> Dbmail@dbmail.org
> https://mailman.fastxs.nl/mailman/listinfo/dbmail

Reply via email to