On Tue, Sep 12, 2006 at 08:39:12AM -0600, Jesse Norell wrote: > That's most likely the order in which the database returns the > message id's .. eg. see what something like "select message_idnr > from dbmail_messages where mailbox_idnr = xxxx" returns, it's > probably the order you're seeing. You can turn logging up to level > 5 to see the exact queries being run. As Mark pointed out, I > don't think they're required to be in any order, and as such they > likely aren't sorted (which would slightly improve performance), > though doing so would be easy.
For a LIST command, the query is: SELECT pm.messagesize, msg.message_idnr, msg.status, msg.unique_id FROM dbmail_messages msg, dbmail_physmessage pm WHERE msg.mailbox_idnr = '81' AND msg.status < '2' AND msg.physmessage_id = pm.id order by status ASC Looks like they are sorted, but by status. So the sort performance hit is already there, it's just sorting by something counter-intuitive. The RFC may not specify order, but received order seems to be the de-facto implementation choice. Probably because POP3 became popular in the Unix mailspool world, where email is naturally in received order. - Morty
