Originally Posted by
IB-Dick
The main reason for not implimenting this is because it will slow down the forum.
When you view a forum, a query runs. For simplicity, let's call it this:
SELECT * from thread where forumid = 1;
This will list all the threads in the forum with the id of 1 (miles and points, I think). There is a lot other going on, but that's the majority of it. If we had a thread ignore feature, before that query there would first have to be a query to find out which threads in that forum you are ignoring.
SELECT threadid from userignore where forumid = 1 and userid = 12345;
Let's say that this returned the thread id 987654. Now, the first query can be ran again, excluding that forum id.
SELECT * from thread where forumid = 1 and threadid != 987654
On a small forum, this wouldn't be a big deal. On Flyertalk, this will be substantial.
If the table "threadid" is structured like a bridge table (two foreign keys and 1+ columns items per record), then why not do a left join on both tables and filter out the results of userignore.threadid that are null and where userid is the id of the desired user?