8:30 PM
A: Is there any way to fix reputation mechanics here?

Brent OzarI'm going to give you some public tough love, but only since you asked. Your answers aren't actually all that good. Take this one: Will DB session terminate when client close DB connection The answers you posted don't actually answer his questions. They're good information, yes, but they're no...

This one, as another example, is a casual observation with nothing actionable. It isn't an answer and should probably be a comment on the question.
The questions in "Will DB Session terminate..." are barely written in English, and I answered them point for point. And why would I give detailed answers to easy questions that the people asking could just as easily have gotten from Googling the topic?
@MatthewSontum To be frank, justifying that as garbage in garbage out is the same thing to me as what you complained about regarding McNets' comment above. Just because you think the question is terrible does not make it okay to post a terrible answer.
He asked, "What is the impact if database statements are not close?" You told him to commit or roll back. That doesn't answer the question of what is the impact.
Yes that is exactly what I mean "What is the impact if the database statements are not close?" is not English. I thought perhaps he had meant to type "not closed", but even that doesn't make much sense. You should also note that no one else has attempted to answer his questions.
8:30 PM
@MatthewSontum Being the only answer does not translate to being a perfect or even a good answer. We only have one president, does that make him good, great, something else? Why?
If there is only one answer to a question, and the answer is correct, it should probably be accepted as the correct answer by default. I think the main issue with the mechanics on this site are that people don't return to their questions to accept answers. When I say that 2/3rds of my answers have no activity, they are on questions that have no accepted answers. It's not a lack of activity because the poster accepted another answer and moved on, they accepted no answer.
@Matthew Sorry, but you don't get to decide whether your answer to someone else's question is "correct." You may be confusing peer Q & A with self-gratifying blogging. You also don't get to dictate how other people use the site. I've had answers accepted after years of no activity. Have some patience, grab a snack, and move into this gradually instead of immediately declaring that this site is all broken because it doesn't meet your particular expectations.
@MatthewSontum The thing you should remember on these sites is while you are answering the question asked, you're also answering it for anyone with the exact same problem. If the asker doesn't accept, then you shouldn't worry about it. You should focus on posting the best possible answer to the question and if other people (outside of the asker) find your answer helpful, they will upvote it as they see fit.
@AaronBertrand Again I don't expect that everyone will agree with everything I say, even if it is factually correct and I have 17 years of experience as a 10x database developer to back it up. My issue is that people are not using the up-vote, even in situations where they agree with me in the comments. Like "Hey, thanks for suggesting I remove the DISTINCT clause, it was unnecessary and sped up the query by 15 seconds" And yet did not up-vote the answer. That question had 3 answers, all reasonably good, and none were up-voted or accepted.
(1) 17 years of experience doesn't make you factually correct about everything (this is why I pointed out explicitly why I disagree with you that clustered index is always better than nci). (2) You know there is a reputation minimum on up-votes, right? (3) Many people hold out far longer than 3 days before accepting. They may see a good answer but don't want to discourage later, better ones. (4) This site is about helping users. Reputation is a motivator, but so what? Would you rather have the satisfaction of knowing you helped someone, or stupid, worthless unicorn Internet points?
8:30 PM
I did not know there was a reputation minimum on up-votes. I really only got on this site because I wanted an answer to my questions, but as I mentioned in the OP, they are not being answered. Then I thought it'd be fun to see if I could get 40K rep, like a developer I know at my work, but I don't see how that would be possible if 2/3rds of all answers don't get any up or down-votes at all. I mean, if I give a complete, factual answer to a question, and it's the only answer because everyone recognizes it as correct. Doesn't that make it the best answer by default?
@Matthew I mean, really, if you're here just for the points, you might have a more enjoyable experience at MSDN forums. I think Brent has made a good point that several of your answers aren't exactly fast-trackers for 40K. Do you know only 8 users of this site have reached 40K? Do you know how many years (not days or hours, as you seem to expect) that took? And I'll remind you once again, just because you have a ton of experience, that does not give you the right or ability to determine that your answer to someone else's question is complete, factual, and the best possible answer.
I do like MSDN considerably better than here. The answers are much better, much more grounded. But I had a question that was too tough for MSDN, I think it might be too tough for here as well.
@MatthewSontum You seem to be greatly underestimating the experience, intelligence, and knowledge of the people participating on dba.stackexchange. Number of years is not an impressive credential compared to actual displayed knowledge and reputation earned in the community through hard work and repeated exposure.
@ErikE Are you saying that my questions will be answered if I wait long enough? Because my experience with these types of sites is that in general any questions that do not receive early answers do not get answered at all.
@MatthewSontum I should blog about all of the ways this model is superior to MSDN. But I have a feeling you either wouldn't read it or would just roll your eyes.
8:30 PM
@MatthewSontum My experience is that questions that don't get an answer are usually not good questions. I have had my own frustrations with questions I thought good not getting an answer, but then, I also have to admit that some of those could be more on the subjective or speculative side (not a good fit for stackexchange). Tell you what. I'll look at your questions and see what I know (though I have focused on SQL Server, so all bets are off).
When I Google to try to determine the answers to technical questions I have at work, I nearly always end up somewhere in MSDN. The reason I thought to ask a recent batch of questions here instead of MSDN is because the questions are really specific and not covered there. However, as I mentioned in the original post, they aren't being answered here either. But I should have suspected this would be a dead end, since googling never leads me to answers on the Stack Exchange, and always to MSDN.
I probably can't change your perception by telling you that none of that matches my experience. At all. When I Google for technical problems I almost always get Stack Overflow or this site in the top results. And I will always come here first before ever going to MSDN because of their post layout, the fact that there can be multiple accepted answers, and simply because the answers there are almost always very simple and not actually answers at all, just stab in the dark theories. We hold our answers here to much higher quality bar. Period.
@ErikE, yes take a look. They are very specific questions. One is about physical database design, the next is about server settings, and the final one is about source control branching strategies. Physical database design is the only area where I feel I am weak as a DBA, I've been a SQL Server developer for the last 17 years, and a DBA for the last 10, but I've only started doing physical database design in the last six months.
It does sound like MSDN is a better fit for your style of questions and answers. The great thing about the internet is that there's so many choices out there for different needs. Thanks for at least giving this one a shot, anyway! The world needs more of that open minded, inquisitive approach.
@AaronBertrand, you say that you hold yourselves to a higher standard here, and yet, the first question I attempted to answer (because it had a bounty), had a completely wrong top answer. The top rated answer, with 5 up-votes, was completely wrong. The next highest rated answer only had 1. So (1) the person answering the question didn't realize his answer was wrong and (2) Five people didn't know it was wrong, despite someone writing in the comments it was wrong, and the person asking the question saying that he tried the idea and it didn't work.
8:30 PM
"Completely wrong" according to who? Can you actually provide a reference instead of hand-waving? Also, just to be clear: a higher standard means overall, in general, on average, etc. It doesn't mean every single question and answer will be perfect. We are a bunch of humans, after all.
@BrentOzar I think open minded and inquisitive are fine, but the majority of questions asked on here (and most technical sites) do in fact have correct answers. If the up-voting system was working as designed, those correct answers would be up-voted to show that they are correct. But perhaps my own usage is to good explanation for why it doesn't. I only up-vote answers if they are really good, better than what I could come up with. I've answered 36 questions, but only given out something like 8 up-votes.
The person's suggestion was to add a non-clustered index on the column used for the clustered index. I believe the table columns were something like ID, Codeset, Code, CodeDescription. With ID as the primary key and clustered index. And the suggestion was to add a non-clustered index that included just ID. Which as I mentioned, was already the clustered index. There were more parts to the answer, which were correct, but would not have affected the performance of the query. The question was on how to improve the performance.
@MatthewSontum I have looked at three of your questions. Two of them I commented on as not being the best fit for dba.stackexchange because they are hard to answer objectively. The third question is very specific to your particular environment which no one else can really know exactly or have had experience with. Could you provide a link to any other questions that you feel deserve answers but have not received any or have received incorrect answers?
@Matthew Give us a link, not a synopsis, please.
I was having trouble finding it. I won a bounty (I think) but it is not marked in my list as being the accepted answer: dba.stackexchange.com/questions/162608/… The bad answer is the one with 5 up-votes. And it looks like the table in question was just using ID, Name
@MatthewSontum There are plenty of times where the best answer is not the most-upvoted one. This tends to correct itself over time, especially if comments on the answers indicate this. You can also get your friends to log on and down-vote the bad answer (this is accepted as long as it is not malicious and is an objectively beneficial way to improve the site).
@MatthewSontum Also, about adding a non-clustered index on a PK column--this can actually be quite beneficial if the non-clustered index has fewer columns than the main table (and, as the answer you're complaining about says, covers the query), as it increases the number of rows per page and thus reduces the number of reads needed to satisfy the query (avoiding the clustered index entirely).
8:30 PM
Also, are you sure only 8 users have reached 40K rep? That doesn't sound right. I looked up my friend who reached 40K rep stackoverflow.com/users/1366033/kylemit and he has answers with 500+ up-votes. How does that happen? I don't see any answers with more than 10 up-votes on the questions I have answered.
Kimberly Tripp recently blogged about why you may want to add clustering column to non-clustered indexes explicitly. You have to stop assuming that your own knowledge is all of the knowledge.
That's not this site - that's StackOverflow.com. You're on DBA.stackexchange.com, which has a much smaller user base.
@MatthewSontum Please be careful to distinguish between dba.stackexchange.com and stackoverflow.com. The two sites have quite different audiences. While most of those on dba.se do also answer on stackoverflow, the reverse is not also true. Note I have 26k rep on stackoverflow but only 2.3k on dba.se.
@ErikE Why would you want to ignore the clustered index entirely? The clusted index is the physical ordering of the data on the disk. If the query can use it efficiently it's going to be the fastest. Non-clustered indexes are for columns that can't be used effectively because they are not the left-most part of the clustered index.
And as for 40K rep, I was talking about this site, where you have posted your rant. Here is the user list ordered by rep. Stack Overflow is part of the network, but it is a different, independent site, with orders of magnitude more volume. I dare you to post this exact question on their meta site - and in fact I was tempted to move this there - I think you'll quickly see how even these two sites within this network differ.
8:30 PM
@MatthewSontum Except I just told you that if you have a NCI that covers the whole query and has fewer columns (in this case, two columns instead of six), it's going to be faster. Before you embarrass yourself further on this, go try it out on one of your large tables! Make sure you issue a query that is expensive, but fully covered by the NCI (pay special attention to the INCLUDE Name portion of that index).
@Matthew No. The clustered index is NOT always going to be the fastest. How many times have I said this on this page alone?
@AaronBertrand You can move the question there if you'd like. I don't feel any of this is specific to Stackoverflow the DBA site vs Stackoverflow the main site.
@ErikE I know about the usage of covering indexes and included columns. However in the question that I answered the clustered index already supported that part of the query, what the person asking the question needed was non-clustered indexes on the table he was joining that table to. Which is the answer I gave him.
@MatthewSontum Okay, I commented on your answer, which as far as I can see isn't answering the question properly. Please respond there. Also see my answer on that question...
@AaronBertrand why did you migrate it to MSE? While in theory "fixing the reputation" is general to SE (as absurd as it might sound), the core of the discussion is specific to one site.
@ShadowWizard I'm pretty sure he wants him to experience the larger SE community's opinion on expecting voting mechanics to work the way he wants.
8:30 PM
@ShadowWizard Because he stated in a comment on the first answer that he also found the same thing on SO. While he used examples only from one site, it felt to me like a criticism of the network, the way voting mechanics work in general, and how the community at large operates - and not anything to do with either of those sites individually. I think it's important to demonstrate how many of the things he expects go against the entire network's concept. If you disagree, that's cool, migrate it wherever you'd like.
@AaronBertrand I can't migrate, just saying there is a high chance that the question here will be closed and thus the migration will be rejected.
@Shadow OK, hopefully in the meantime he'll get more input from a wider audience.
Yes, I am okay with the migration I would like to see input from a wider audience. However it may be the case that on the main SO site what I am saying isn't true. That more than a third of questions do get answers, and more than a third of answers get up/down votes. Maybe the DBA site is different because it has less users.
@ErikE I saw your answer and I think it could potentially work, but that was a lot of work on something that was speculative. What you are describing are the things the developer should test, since they have access to the database and can run variations of the query to see which perform best. I had initially thought a CTE/PIVOT approach was the correct solution, but I didn't want to do a full write up of it because the simpler, "add six non-clustered indexes" approach would definitely work.
@MatthewSontum Except I don't think that your approach definitely will work! See my comment on your answer. It took me about 10 minutes to write that answer (speculative or no, those kind of query gymnastics are my bread and butter and what I enjoy the most). Again, please reply to my comment on your answer, not here.
@ErikE I'm not sure if my answer would definitely work, but it's the first thing I would have tried as the developer. If it didn't I would have moved on to testing CTEs and PIVOTs. However I will say that when I do actual performance improvement I am very successful. It is rare I find a stored procedure written by someone else that I can't make run twice as quickly in half as many lines. But it's an iterative process, I often try many ideas that don't end up working. I just keep trying different things until I hit upon the one best way.
8:30 PM
@MatthewSontum Answer in the thread, not here. We all get you think you're awesome, but in this case with the given information I think your answer was a poor one.
For fairness, I don't think your answers are all that good either.
I did reply in that thread. Also I'm not using subjective measures. At my last job I was a 10xer before I was forced to become a supervisor. My first month on that job I took a 12K line stored procedure that was timing out and got it down to a 4K line stored procedure that ran in under a minute. I am exceptionally good at getting T-SQL to run more quickly and in less lines of code.
"Also I'm not using subjective measures. At my last job I was a 10xer" - that is a subjective measure right there. After all, you said you took a 12K line stored proc and got it down to 4K - I'm not known for my math, but that's only a 3xer, and taking out the comments doesn't count. ;-)
10xer means that I produced 10x as much usable code (as measured by the number of objects checked into source control) as the average person in my group (not including me) We also had a ticketing system in which I closed 2.5x as many tickets as the next best person. Note that this was before I got into management. But even with my management duties I was still the top ticket closer and object contributor, just not as far ahead of the next best person.
@Matthew How are those statistics relevant? Just like your years of experience, they don't magically make your answers better.
8:30 PM
Then how was I able to do all of that if I didn't have a solid handle on SQL Server fundamentals? How could I be 10x as productive as an average developer without a SQL Server understanding that exceeded the average developer as well? The years of experience and SQL proficiency are relevant because they are reflected in all of the answers I have given. They are all correct, concise and complete.
@Matthew I don't know how else to explain to you that thinking you're spectacular at something does not force the entire community to find that same magic in you.
The entire community doesn't have to find my answers spectacular, but I would like to see all of the correct answers to questions which are the only answers to questions up-voted and accepted. I would also like to see comments on all down-votes for answers. Otherwise the system of voting on answers to find the best answers doesn't work... the majority of questions have 0 votes on answers (in DBA stack exchange, not the main SO)
@Matthew I don't think you're following my point. When I say "the entire community" I mean "anyone in the community." You don't get to stomp around and demand that your answers be up-voted and accepted just because you think they're perfect. That's not how this site works and that's not how it's ever going to work, no matter how loudly you disagree.
@MatthewSontum You've been around the site for about a week, a lot of the things you are talking about have been discussed before. We don't require comments on downvoted posts for lots of reasons discussed over the years the site has existed. Correct answers aren't guaranteed upvotes or being accepted. If you have suggestions about how to improve the sites, then post a feature request.
@MatthewSontum yes, I know what a 10x person is (or is supposed to be), and I was making a math joke. But rather than talking about your accomplishments offline, focus on the answer I posted here: your answers simply weren't answering the question. Here, you earn points for answering the question. That's it. It's purely democratic. When folks see great answers, they reward it with points. I'm explaining why I saw your answers, and didn't upvote them.
8:30 PM
As for comments on down-votes, no, no, and no. Please read those discussions thoroughly. These are all status-declined because they would do more harm than good.
@AaronBertrand Why did you link to three threads that are supporting my position?
@Matthew Because you need to read them and observe that the people who run the site, and many people in the community, oppose them.
The first one leads with "Where the down-vote has been explained I've found it useful & it has improved my answer, or forced me to delete the answer if it was totally wrong. So is there any way we can encourage people to leave a comment? Perhaps they don't lose rep if they explain their down-vote?" This is exactly the position I am taking
Please go back and read what I said. I didn't point you at those threads so you could see "hey, someone else thinks like me" - I pointed you at them to show you that you are not the first person to come up with this brilliant idea, and it has been rejected in the past multiple times.
9:27 PM
@MatthewSontum Aaron's saying you have to read the answers, not the questions, to understand. Have you read the answers?