FlyerTalk Forums - View Single Post - Ignore thread
Thread: Ignore thread
View Single Post
Old Aug 21, 2012 | 5:35 am
  #22  
alcathiax
15 Years on Site
 
Join Date: Jun 2007
Posts: 305
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?
alcathiax is offline