My question doesn't see terrible to me at all and I would think that I could get a few really good answers that are different but not so many that it would be like this one.

What makes my question worse than the other? And why has the other received no flags at this point?

4 Answers 4


The original version of the question was:

Revision 1

Now, this isn't a terrible question, but it isn't a great one either. For one thing, it doesn't specify the database product. The general (broad!) approach might be similar for all products, but the specific actions a database expert might take likely would vary a lot.

What types of questions should I avoid asking?

You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.

What does it mean if a question is "closed" or "on hold"?

  • too broad - if your question could be answered by an entire book, or has many valid answers, it's probably too broad for our format

Your question received an early down vote, which is a signal that something about your question could be improved. In addition, users began to comment explaining what they felt the problems with your question were.

Around the same time, an initial vote to close as off-topic initiated a community review. That process is ongoing, with the question so far receiving four of the five community votes needed to place the question on hold, pending improvement.

At minimum, the question needed to be tagged with instead of (there was no SQL query) and/or to mention that you were asking about SQL Server in the question. Even so, it would still be a rather chatty, open-ended question with many valid possible answers. It definitely needed a tighter focus.

Since the close review was started, the question has been edited several times to improve it, which is precisely the outcome down/close votes and the "on hold" status are intended to encourage. The question is in much better shape now than when it started. In particular, you added an example, and more specific questions:

New questions

Regarding the question you compare yours to: that is an old question (from January 2011) that just happened to be bumped to the front page when I retagged it earlier. Our standards have changed over time, as the site has matured (we were still in public beta at the time). A similar question would likely not be well-received here today. It may well be locked at some stage.

The close review on your question can also be completed by three community votes to leave it open, but that hasn't happened yet. If the question does remain open, the close votes will age away over time unless retracted. If the question is placed on hold, you can follow the advice in What if I disagree with the closure of a question? How can I reopen it?

Update: The question was placed on hold (review history) and subsequently reopened by four community votes plus mine (timeline).

I have notified the voters listed that this meta question has been asked, in case they want to explain their reasoning.


I believe I was the first person to vote to close as too broad, and second to vote to close overall. The reason I voted to close for this reason is because the question was asking us to pick reasons out of a hat why a query could be slow pulling data from five tables. The reasons why it could be slow are legion.

You didn't give us any insight to the indexes, statistics, amount of data returned, the nature of the query (cursors vs subqueries vs a simple select vs tables in different linked databases), DBMS, network latency, server load, etc. There are lots of interrelated things that can affect the performance of the query. You probably weren't asking why it took 25 seconds to download 10 MB of data over a 3G connection from five linked MySQL databases running on Rasberry PI's without any indexes, but if that was the case there would be some clear opportunities for optimization.

Secondly since you didn't give us anything to narrow the scope vague best practice type suggestions like the following were the only answers we could give:

  • Ensure you have good indexes
  • Increase the server's RAM and keep the database in memory to avoid the penalty for disk access
  • Rewrite the query so it is sargeable
  • {insert wisdom here}

For what it's worth I voted to close the question several hours ago before there was an example and more clarification. Kenneth's answer is the kind of vague best practices type of answer that I'd expect from the question. I do appreciate that you cared about your question enough to bring it up here, and kept trying to improve it. Like Paul said, I don't think it is a great question, but its not a terrible question either (now). The effort and caring you've shown for it made me vote to reopen.


I voted as too broad for the same reasons Paul and Erik detailed. Interviewers often ask deliberately open-ended questions that have no right or wrong answer to glean an understanding of one's troubleshooting skills, methodology and technical knowledge. I always ask a mix of open-ended questions like this as well as technical questions with a clear answer when I interview candidates.

Theoretical questions, interview or otherwise, do provide some value to the database community but this one is still too broad in my opinion. A cursory internet search will provide a similar list of solutions to stored procedure performance problems. The number of answers without real-world knowledge of the application, database schema, workload, number of users, hardware. etc. is endless.


Why did I choose to VTC the question ?

The initial question (without updates) mentioned about interview and was clearly an interview question. The Q&A model of this side do not encourage interview questions. See here as what type of questions you should avoid asking.

You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.

Remember and dont get me wrong - your question was not bad at all !

Your question (after updates - is a very broad) - the answers would be only guesses that people have to make. When you address a performance problem (esp. slow SP, etc.), there can be multiple things to look at before coming at a conclusion. There is no "one size fits all" when it comes to addressing such problems.

E.g. Was the SP running slow as it was being blocked, stale statistics, bad query plan, was the data significantly changed and so on ?

I would highly encourage to read : Help us help you : keys to getting good answers

One last thing .. when your question is closed, its a community decision. Dont get discourage ! Get more involved, keep asking more good questions (its a gradual process and you will learn it). We are here to help you and dont take it personally - This is the best place with best people to guide you to best route in your career :-) !

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .