Hans Kristian Rosbach <[EMAIL PROTECTED]> said: [huge snip] > But right now I would be happy enough if we just moved the headers > out into a separate table so that it can have a different storage > type than that of the rest of the mailbody. This would allow scaling > better.
The headers *are* a mailbody. Just not yet... The very first thing that we'll all be doing in 2.1 is writing the preparsed header cache. At that point, what in the database will be the off-the-wire format headers and body in one table, and the preparsed hints in another table. Roel and I talked about this at one point, and realized that we should also be pre-parsing the message body for MIME information. There are some queries in IMAP which are really easy to ask for, like, say, give me the MIME structure of these 20 messages, and they turn out to be a bear to implement and perform. When a client actually asks for a message, or if the admin wants to dump all messages, or if the headers table gets flushed and rebuilt, DBMail will use the actual headers in the messageblks table. For searches and small requests, we'll use the preparsed fast headers. Aaron --
