Tag: syndicated

  • The Land of BBQ

    I’m off to Kansas City today for SQL Saturday #53 and looking forward to a great speaker’s dinner tonight at the Royals game. It should be good catching up with a few people I haven’t seen in some time, as well as 4 other speakers who were at SQL Saturday #52 last weekend in Colorado.

    This is my first trip stopping in KC, despite having driving through there 3 or 4 times, and I’m looking forward to some good BBQ, and hopefully time to hit the Negro Leagues Baseball Museum, started by the late, great, Buck O’Neil.

    If you are in town, or nearby, be sure to come to the event Saturday, and get some great SQL Server training for free. That’s a deal you can’t beat, even if you have to drive an hour or two in order to come.

  • No Guarantees

    The keynote for SQL Saturday #52 in Denver, that didn’t go as smoothly as I’d like due to technical difficulties, however I am hoping I got my point across. Here’s what I wanted to say:

    Who does p90x? Body for Life? Some other exercise routine?

    Do you think these programs work? Sure they do. All these programs will work. At least they will work to the extent that you put the effort in to stick to the program. However the exercise is the easy part. It’s the eating program that’s challenging. Changing your eating habits is hard. Very, very hard.

    However I’ve heard a number of investment advisors say in the last few years that the best investment you can make for the future is to get healthy. Costs for health care are growing and you don’t want most of your retirement money used on healthcare, but more importantly, you want to enjoy your life. You don’t want to be stuck in a bed or limited in the places you can go. You want to be able to use the money you do have to travel. You want to see and do things, not sit around your house collecting pill bottles or waiting in doctor’s offices.

    Mr. Randall, one of the organizers of this event, runs regularly and participates in various races around Denver. I run as well, and in fact, I run every day, though I haven’t done any races. I am not sure I want to show up and one and get dusted by Mr. Randall. I might never hear the end of that.

    We both have to work regularly to maintain some level of skill and health for running. I think that having that steady discipline to keep working at running has really helped us. At least I think it has and I hope that it’s paid off with better health. I know I feel better. I’m not here to recommend that you run, but I do think that working to be healthier is a good investment for your future enjoyment of life.

    But there is no guarantee that this work on our health will pay off for us. We could have an accident befall us, or we could still have health issues as we get older. If you remember, Jim Fixx was a runner, and wrote the bestselling book “The Complete Book of Running”. He died of a heart attack during his daily run at the age of 52. An autopsy speculated that he was genetically disposed to heart disease and revealed he had severely blocked arteries.

    I tell you this not to warn you about running, or make it seem that it doesn’t matter what you do, but to tell you there’s no guarantee that your hard work in trying to stay healthy will work. Just like avoiding all exercise means you definitely won’t enjoy your later years. It could go either way. However there is lots of research, and a good amount of anecdotal evidence, that shows people who continue to take care of themselves as they get older are more likely to be healthy and enjoy life more, and have more opportunities to do things as they age.

    All this professional development stuff is the same thing. It requires a bit of a leap of faith that it will work for you. I think it does, and I’d like to think that all the work that you do to build a brand or network with other professionals is an investment. It’s not guaranteed to pay off, but it hedges your bets. It gives you a better chance to succeed, and it should make you more marketable.

    The talk I do on branding is designed to give you some practical ways to market yourself, and showcase the work you do. It should help you stand out from the crowd, and hopefully make it easier for you to get a job

    The easy part of making yourself more attractive to employers is learning the technology. Picking up Reporting Services or C# or something else is something that each of you can with a little time on a regular basis. My fellow cofounder of the SQL Saturday franchise, Andy Warren, says that you can build a good skill in 100 hours in a year. That’s not an unreasonable level of investment, and probably worth the effort for many of you.

    And like my running, it’s the fun part of taking care of your career. You pick a set of skills you need to learn, things that your employer needs or that you want to work on I the next position you take and go for it. You invest a little time, grow your skills, add a line to your resume, and become more like the employee that many managers are looking for.

    The hard part, the equivalent to eating, is the other stuff. It’s working on the other skills. For most of us it’s the networking that’s difficult. We struggle to make new contacts in our field and to keep in touch with them.

    For some of us it might be the verbal communication skills that we need to develop to make a great impression on someone. Presenting yourself in a positive light, especially in an interview, is hard. Most people are nervous, and they don’t spend enough time practicing these skills. And it shows.

    Most of us probably struggle to document our careers. Writing things down, keeping track of our accomplishments, or our failures. Tracking the efforts we’ve made to improve our skills. We usually don’t make a note, and as a result, we often can’t really make the best impression that we might otherwise make if we did. A quick hint, those written communication skills are important. Blogging is an easy way to do this, and it does double duty of tracking your career.

    These soft skills are the things we all have to really work on and, like changing our diet, they typically are the harder skills for us to develop.

    They are also likely to be just as critical in finding that next job as your technical skills. These days it becomes hard to differentiate yourself just on a list of technical skills, or even in an interview. There are always a group of people that will come across with a similar level of talent, skill and experience. That means that you often have to bond, impress, or otherwise stand out in the interview.

    And that’s hard. You might not necessarily develop a strong bond in an hour talk, and often that is all you have to make an impression on the person that will decide if you get the job or not.

    You should do everything that you can do to make a better impression beforehand. That could be through blogging, or networking, or something else. If you find the job that you want, the job that’s a good fit for you, don’t you want to be sure you get the interview and you stand out? You do, and to do that, you want to work on your professional brand to give you every chance you have to succeed.

    There are no guarantees. Whether it’s exercise, investing your money, or managing your career, nothing will guarantee you a payback. Does that mean it’s not worth doing? Not at all. You hope for the best, plan for the worst. And that means you make an effort to invest for the future, working hard for tomorrow.

    But don’t forget to enjoy today while you’re making the effort. Find a hobby, enjoy your significant other, your family, and try to smile every day.

  • Grabbing SWAG

    It’s getting close to the time for the SQLServerCentral party events this fall, and time to start gathering up SWAG to give to people. In the past, I’ve hosted a SQLServerCentral party at the PASS Summit, and it’s always been a good time. Our first year, 8 years ago, we gave away shirts to people that had registered using our referral code, and it was a madhouse.

    Since then, I’ve had more organized events, giving away a polo shirt and a book to each person along with random prizes at the party. This year, I decided to make a change for a few reasons.

    First, my budget is down. The contract with PASS this year has me getting lower referrals for people that are repeat attendees. That and fewer people registering for now, mean that I’m going to lose money this year. That’s OK, since it’s a marketing event, but I have to watch the budget closer.

    So, I decided to try something new. I went with T-shirts this year, using a big SQLServerCentral logo on the front, ala Superman style. I looked around, and decided to go with DFC Screen Printing, who had a great site and worked with me through email to ensure the artwork was OK. It’s a bit of a leap of faith, but I’m hoping the heavyweight Jerzee’s t-shirts look good.

    We still have a book, though it’s a Stumper’s book this year, and not a “Best Of”. Costs all around are higher, so we had to make a decision. We still might do a “Best of” this year, but it won’t be the giveaway for PASS.

    I’ll still have other prizes available, and will be gathering up some DVDs, books, and other stuff during October. I won’t be at the party, but Brad will have things under control and it should be a great time.

  • Common SQL Server Mistakes – Indexing Every Column

    If one index helps speed up queries, than more indexes should help more, right? They do, but they also come at a price. Both in performance during data modifications (insert/update/delete), and in terms of space since each index must be stored somewhere.

    I have never bothered to index every column of a table. Actually I’m not sure if I’ve indexed every column of any table. Perhaps that’s because I originally came from a dBase/Clipper/Foxpro environment and I had to manage every index manually. Adding too many indexes resulted in a lot of coding.

    In SQL Server, each index is useful in two ways. When someone puts a filter in the WHERE clause, like this:

    select
      CustomerID, TerritoryID, AccountNumber
    from Sales.Customer
    where CustomerID = 10

    then an index on CustomerID will speed up this query. Instead of having to scan all rows of the table, the index on CustomerID can be searched, the correct row found. If this is a clustered index, then the data can be read. If it’s a non-clustered index, the server can retrieve the rowID and then go get the data from the clustered index without reading all the rows in the table.

    In more recent versions of SQL Server, multiple indexes can be used. For example,

    select
      CustomerID, TerritoryID, AccountNumber
    from Sales.Customer
    where CustomerID = 10
      and TerritoryID = 23

    In AdventureWorks, there are indexes on both CustomerID and TerritoryID for this table. It is possible (with lots of data), that the optimizer might choose to scan the CustomerID index for all matching rows and then the TerritoryID index for matching rows, join those results together to get a set of rows for the overall query and read the clustered index for those specific rows. However that’s not something you can count on in SQL Server. Typically one index is used in many queries.

    So why not index every column?

    First, if the columns are large, like varchar(max), text, or varbinary(max) columns, then it doesn’t make sense to build large indexes unless you often query these fields. Even then, a full-text index is likely a better choice.

    Second, each time you change data (insert/update/delete), then all indexes must be updated at the same time. This means that your write performance suffers, and that impacts the server read performance as well since resources are being used to perform those updates. The more indexes, the more work that has to be done in support of any DML statement.

    Lastly, you typically find that most of the time you query a table based on 3-5 fields, and those are the best candidates for indexes. For transactional tables, this is typically the number of indexes that you want to put on each table. Reporting tables, or OLAP type tables, might have more indexes, but these are tables that typically receive mostly read activity, and rare write activity.

    Which columns do you index? Pick those columns that often appear in your queries, and that are fairly selective. You can always query the missing index DMVs for help in choosing which indexes the optimizer things it might use.