General SQL Server query performance

Posted by Kiril on Stack Overflow See other posts from Stack Overflow or by Kiril
Published on 2010-06-01T12:32:07Z Indexed on 2010/06/01 13:33 UTC
Read the original article Hit count: 310

Filed under:
|

Hey guys,

This might be stupid, but databases are not my thing :) Imagine the following scenario. A user can create a post and other users can reply to his post, thus forming a thread. Everything goes in a single table called Posts. All the posts that form a thread are connected with each other through a generated key called ThreadID. This means that when user #1 creates a new post, a ThreadID is generated, and every reply that follows has a ThreadID pointing to the initial post (created by user #1). What I am trying to do is limit the number of replies to let's say 20 per thread. I'm wondering which of the approaches bellow is faster:

1

I add a new integer column (e.x. Counter) to Posts. After a user replies to the initial post, I update the initial post's Counter field. If it reaches 20 I lock the thread.

2

After a user replies to the initial post, I select all the posts that have the same ThreadID. If this collection has more than 20 items, I lock the thread.

For further information: I am using SQL Server database and Linq-to-SQL entity model. I'd be glad if you tell me your opinions on the two approaches or share another, faster approach.

Best Regards,

Kiril

© Stack Overflow or respective owner

Related posts about sql-server

Related posts about linq-to-sql