Christian G. Warden wrote:



Headers are already stored in their own messageblk.  Simply adding a
header flag to messageblks would allow selecting multiple headers in a
single select.  We've talked about actually storing common headers,
such as To, From, Subject, Date, etc. in their own fields.

btw, fulltext indexes aren't supported in innodb tables yet :(

Sorry,
I was unaware of the lack of fulltext index support in innodb. I guess we have to wait for that, since it is on innodb longterm todo list and foreign keys for MyISAM are scheduled for version 5.1. What is postgres status?

My very strong opinion is that, you shall try very hard to make all your searches with as few SQL statements as possible. I beleive that the database itself is the best indexing algoritm. You should therefore build your data base structure for optimal performance. I do not beleive in creating separate tables with indexes that need separate INSERT statements everytime you insert a record in another table. I very much beleive that all node relationships should be accessed straight one way, that spagetti database structure should be avoided, if possible. But this is not possible with MySQL this year and probably not next year.

Please correct me if this beleif is wrong.

I know that the headers are stored in a separate messageblk.
It was mentioned earlier on this list that the search of common headers without index, actually not is that expensive. Therefore would the actual gain of storing the common headers not be that huge. You would also need to determine which headers that are common, you would also get a spagetti database structure. For performance, you should probably not add a FULLTEXT index to all messageblocks. It is therefore more practical to move the headers off to another table, where you can index the data that you actually will search.

/Magnus



Reply via email to