If you’ve got performance troubles with an application that stores data in SQL Server, and especially if it’s a home-grown application (not a store-bought app), you can get dramatic performance improvements simply by focusing on some basic indexing techniques. These tips and tricks pay off more than pouring money into hardware that might look good sitting in the datacenter, but doesn’t really make the application significantly faster.
When I go into a shop to speed up an application I’ve never seen before, two of my favorite quick-hits are from the index performance tuning queries from SQLServerPedia:
- Find unused indexes – these are indexes the SQL Server engine says it’s not using. Unused indexes incur a speed penalty because SQL Server still has to add/update the indexes as records change, so they make writes slower.
- Find missing indexes – these are indexes SQL Server wishes it had available.
The above paragraph and information sounds good doesn’t it? Well guess what? They’re not my words, they’re Brent Ozar’s words from his article on SQL Server Index Tuning Tip: Identify Overlaps. Now had I not mentioned that fact, would you think I wrote it? Well that is the meat of a hot topic that spawned today on Twitter in the SQL community. Apparently a young man who recently graduated college decided to open a blog focused on SQL Server, UNIX and Oracle. The problem lay in the fact that all the articles on his site were not his own. What this guy did was use an RSS aggregator to point to prominent sites (such as SQLServerpedia, SQL Server Central and SQLblog.com amongst others) and so their content was then published on his blog. The big deal was that 1) He didn’t ask permission to republish their content and 2) He didn’t make it clear that the article you were reading was written by someone else. The ONLY credit given is a very tiny blurb on his About Me page that says “materials in this site has been collected from various sites and blogs and for that I thank them”. Riiiiight, that’s not exactly proper citation. Given that this guy claims to also have gotten a Master’s degree, I would think at some point in his educational studies the mention of proper citation and what plagiarism is.
Upon learning of this site and its apparent violations, members of the SQL community who had their intellectual property infringed upon took action by leaving fairly straightforward messages on this about page informing him that he was in violation and needed to remove content immediately otherwise harsh actions could be taken. Within a relatively short period of time the author got the message (sort of) by removing the menu options on his site, yet the content still remains if you look for it. Due to this fact I expect DMCA notices to start flying shortly and if the blogger still fails to comply then his hosting company should drop the axe. What’s interesting about this situation is the conversation that was spawned afterward on Twitter.
Todd McDermid (@Todd_McDermid on Twitter) had the opinion that the SQL community reacted much harsher than we should have and blogged about it in his article Another Instance of Plagiarism. In his post Todd does bring up some good points in that perhaps the hardcore lynch mob approach was a bit rash and perhaps a gentle “hey buddy, do you realize what you’re doing is stealing?” might be a more diplomatic approach but the problem is that many of these guys in our community whom are prominent bloggers have been burned plenty in the past. Brent blogged on How to Take Action When Your Content is Plagiarized and in it described a situation (not first, definitely won’t be last) where someone decided stealing content was acceptable. Are the messages left on violater’s site that they have to take down content or face DMCA report the nicest? Maybe not. Is it a necessary evil because of the countless times these bloggers and authors have had to deal with this? Absolutely. Todd outlines that this particular case the blogger in question may be starting out and not know better but after a bachelor’s degree, master’s degree and reading the numerous blogs he’s aggregating (which incidentally have blogged before on just this topic) he should know better. One could argue about what exactly constitutes “common sense” in this right but I’d argue someone who has gone through a master’s program should be very well versed in the art of writing and proper citation.
Some would argue that “nobody lost out” by what this guy was doing but I would disagree. This is a violation of someone’s intellectual property. When you decide to blog on a technical level you are taking your time to help educate the masses. You’re putting in a lot of hard work into formulating something that is uniquely yours and sharing it. “But Jorge, this guy was just sharing FOR you (well not me because I’m not worth stealing from which is comforting on some level for the moment)”, yeah but he wasn’t making it clearly known that it was not his work. If someone has a SQL problem and they quickly Boogle out a question what if they come across the aggregator’s content before they get to yours (the source)? If the person needing a quick answer simply finds the answer on his blog and goes on his way, guess who gets credit for that? The thief. Sure this guy put a very tiny note in his about page but who is going to look in there when reading content? Now let’s take this up a notch. You’re on the job market and the prospective company (like many do) do a search for you on the internet to see what pops up. Imagine how good your word and reputation would be to them if they saw an entire community backlashing on you because you were knowingly stealing content? It’s not worth it!
So what does one do? Well you could ask the author for permission to repost content. For the record I asked Brent if I could borrow that first paragraph for this purpose (thanks Brent!). Or, and I know this is crazy, COME UP WITH YOUR OWN CONTENT! It’s not easy but it definitely pays off and in the end you get mad street cred *fist bump*. So don’t steal content, people work hard to produce this stuff and in the end you’re only going to make yourself look worse by pretending to be something you’re not.