SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
SI - Site Forums : Silicon Investor - Welcome New SI Members!

 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext  
To: Sun Tzu who wrote (22760)8/11/2005 12:43:17 AM
From: SI Bob  Read Replies (4) of 32948
 
Because the db is set up for that relationship to be many to one; not one to many and certainly not many to many. The reply-to message id is one field stored in the same table as the message itself. Many messages can have the same reply-to id, but to make it possible for one message to have multiple reply-to id's, I'd have to break them out into a separate table. And then a lot of code would have to be written to do the necessary joins, and to deal with the possibility of multi-row recordsets in a system written to expect just one row when reading a message.

But, even though I see very limited usage of it ever happening, it's an interesting little programming puzzle that has been occupying my convoluted synapses ever since you brought it up.

And something like this may've been planned at some point either by Brad or by InfoSpace or Go2Net because when we bought the site, there was a separate table that contained nothing but message id's and the id of the message to which each of them was a reply. I assumed the table existed to speed up certain operations (and that assumption may be correct) because when you get into this kind of scale, especially when one of the fields is a long text field, you have to do some pretty unorthodox things to get decent performance sometimes.

Because of that assumption, the knowledge that I could rebuild it with zero effort on my part (though a fair amount of work for the machine), and the knowledge that I couldn't see any use for that table in the new setup, I didn't migrate that table.
Report TOU ViolationShare This Post
 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext