A Shot of SQLEspresso

SQL Blogs by Monica Morehouse (Rathbun)

  • Home
  • Session Downloads
  • Event Calendar
  • PASS
    • Hampton Roads SQL User Group
    • SQL Saturday
    • PASS WIT VC
  • DCAC
  • Contact Me
    • Disclaimer
  • Home
  • Session Downloads
  • Event Calendar
  • PASS
    • Hampton Roads SQL User Group
    • SQL Saturday
    • PASS WIT VC
  • DCAC
  • Contact Me
    • Disclaimer

No Widgets found in the Sidebar Alt!

  • Misc

    Keep It Simple Stupid

    July 24, 2019 /

    Some of us take days and weeks to write a blog, while others can take two minutes and write a great blog *cough* *cough* Denny (B|T). Why is that? I think it’s simple, we are thinking to hard about it and over complicating things. Just sit down at your computer and write what’s on your mind. It doesn’t have to be rocket science or something completely mind blowing or life changing. I’ve seen several, as of late, crowd source their next topic, I think this a great avenue to take as it is those people that are likely your readers. There’s nothing wrong with asking others what you should write…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Introduction to the performance features on SQL Server on Linux

    December 4, 2019

    TIL: Microsoft Azure Part 1

    May 17, 2017

    The Mystery of the Locked-Up Database -Scooby Dooing Episode 6

    September 24, 2025
  • Indexes,  Performance Tuning

    Understanding Columnstore Indexes in SQL Server Part 3

    July 17, 2019 /

    My last two blogs were on understanding columnstore and creating columnstore indexes. In this post, I will touch on one last topic, when to use columnstore indexes. As noted in my prior posts these indexes are designed for large data warehouse workloads, not normal OLTP workload tables. As with any index design it is important to know your data and what you will be using the data for. Be sure to look to what types of queries you will be running against it, as well as how the data is loaded and maintained. Let’s look at a few questions you should ask yourself before deciding to implement a columnstore index.…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Why I Go to Summit Each Year?

    October 11, 2017

    Keep It Simple Stupid

    July 24, 2019

    Eliminating Unnecessary DELETE Operations

    February 27, 2025
  • Indexes,  Performance Tuning

    Understanding Columnstore Indexes in SQL Server Part 2

    July 10, 2019 /

    In my last blog I explained what a columnstore index is, in this blog, we will dive into creating a clustered columnstore index and look at the performance differences the index can make. Let’s get started. Using AdventureworksDW2016CTP3 we will work with the FactResellerSalesXL table which has 11.6 million rows in it. The simple query we will use as a demo just selects the ProductKey and returns some aggregations grouping them by the different product keys. First, we will run the query with no existing columnstore index and only using the current clustered rowstore (normal) index. Note that I turned on SET STATISTICS IO and TIME on. These two SET…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Quick Tip: Remove CONVERT\CAST from your WHERE\JOIN clauses

    March 28, 2022

    Eliminating Unnecessary DELETE Operations

    February 27, 2025

    In Memory Table Indexes

    January 22, 2020
  • Indexes,  Performance Tuning

    Understanding Columnstore Indexes in SQL Server Part 1

    June 26, 2019 /

    Recently I reviewed filtered indexes, this time let’s look at columnstore indexes. These indexes are very useful for data warehouse workloads and large tables. They can improve query performance by a factor of 10 in some cases, so knowing and understanding how they work is important if you work in an environment with larger scaled data. Now, I admit when these first were introduced in SQL Server 2012 I found them very intimidating (additionally, you couldn’t update them directly). For me, anytime you say columnstore, my mind tends to set off alarms saying wait stay away, this is too complicated. So, in this post I am going to try and…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Everything is coming up ACE’s

    October 28, 2015

    Memory Optimized Tables in SQL Server

    January 8, 2020

    Synchronous VS Asynchronous Statistics Updates

    October 25, 2017
  • Back to Basics,  Performance Tuning

    Comparing Execution Plans

    June 19, 2019 /

    When you run a query twice, and get dramatically different run times, your first step can be to try to identify the differences in execution plans. For many that means running  the two different queries (before & after) and splitting you screen in order to visually compare the plans. Did you know SQL Server Management Studio gives you the option to compare to different execution plans? It makes it easy not only to visualize the differences, but it also shows you detail properties that allow you to dive into the numbers. This functionality was introduced with SQL Server 2016, and is also part of the functionality of the Query Store…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Synchronous VS Asynchronous Statistics Updates

    October 25, 2017

    SQL Server Data Collection and Management Data Warehouse

    October 3, 2018

    Master of None

    October 8, 2015
  • Back to Basics,  Indexes

    Filtered Index Basics

    May 22, 2019 /

    In this post, we continue with another beginner’s blog of database features that may be unknown to many. Let’s take a look at filtered indexes. Many database administrators are fully aware of the power of indexes and know how to create them. However, I find that some have yet to dive into fully optimizing their indexes and taking advantage of what filtered indexes has to offer. What is a filtered index? Simply it’s an index with a where clause. It is an optimized non clustered index that can be narrowed down in scope to better fit a subset of data. Example being date ranges, years, non NULLs or specific product…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    SQL Server Is Still Here and Microsoft Is Still Investing in It

    September 30, 2026

    DMV’s for the Beginner

    May 15, 2019

    How Your Hypervisor Can Impact Your CPU

    March 6, 2019
  • Back to Basics,  Performance Tuning

    DMV’s for the Beginner

    May 15, 2019 /

    I give performance presentations at many different events to all levels of SQL Server professionals. Over time I’ve noticed that some DBAs and developers have never looked at the dynamic management views (dmv’s)  that are available within SQL Server starting with SQL Server 2005. These DMVs are useful means to determine what is going on with a particular SQL Server instance. So, in this post I am going to list a few of my very favorite DMVs as a reference for those who may be new to them. Performance Tuning These dynamic management views are what I use first when looking to any performance issues or I need to know…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    In Memory Table Indexes

    January 22, 2020

    TIL: Microsoft Azure Part 1

    May 17, 2017

    How to Get Started with Always Encrypted for Beginners Part 2

    December 13, 2017
  • Performance Tuning

    Join me for a PASS Summit Pre-Con

    April 24, 2019 /

    I am very excited to announce I will be delivering a pre-conference session on SQL Server Performance Tuning on November 5th at PASS Summit 2019. If you have ever attended one of my sessions, you know how passionate I am about this particular topic. So, you also know how very excited I am to have this opportunity to spend a full day talking about SQL Server Performance Tuning and Optimization. Performance Tuning is one of my favorite things to do with SQL Server. There is nothing like seeing performance improvements in an environment as your reward for your hard work. It’s tangible and gratifying. In this session you will be…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    The Mystery of the Locked-Up Database -Scooby Dooing Episode 6

    September 24, 2025

    Time for a Change

    April 17, 2017

    Change Azure SQL Database Service Level Objectives in SSMS

    August 28, 2020
  • Back to Basics,  Performance Tuning

    What is Implicit Conversion?

    April 17, 2019 /

    Another quick post of simple changes you can make to your code to create more optimal execution plans. This one is on implicit conversions. An implicit conversion is when SQL Server must automatically convert a data type from one type to another when comparing values, moving data or combining values with other values. When these values are converted, during the query process, it adds additional overhead and impacts performance. Here is a great chart by Microsoft that shows you conversions and which will cause an implicit or explicit conversion. In this post I will not go into explicit, just know that is what you explicitly tell SQL Server to CAST…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Cycle SQL Server Error Logs

    September 26, 2018

    Sorting in Stored Procedures – Food for Thought

    January 29, 2020

    In Memory Table Indexes

    January 22, 2020
  • Back to Basics,  Performance Tuning

    What’s a Key Lookup?

    April 3, 2019 /

    One of the easiest things to fix when performance tuning queries are Key Lookups or RID Lookups. The key lookup operator occurs when the query optimizer performs an index seek against a specific table and that index does not have all of the columns needed to fulfill the result set. SQL Server is forced to go back to the clustered index using the Primary Key and retrieve the remaining columns it needs to satisfy the request. A RID lookup is the same operation but is performed on a table with no clustered index, otherwise known as a heap.  It uses a row id instead of a primary key to do…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    The Case for Scooby-Dooing: Solving SQL Server Mysteries Like a Pro– Scooby Dooing Episode 8

    October 8, 2025

    New Resumable Online Index Create SQL Server 2019

    November 28, 2018

    Invest in Yourself Stop Making Excuses

    October 22, 2019
56789

About Me

Monica Morehouse (Rathbun)

Microsoft MVP, Performancing Tuning Expert, Leader Hampton Roads SQL Server User Group, Read More…

Consulting

Sessions List

Favorite Tidbits

  • Reminder to Developers

Topic Categories

  • Azure
  • Back to Basics
  • Configurations
  • Data Masking
  • DevOps
  • Encryption
  • Idera Ace
  • Important Links
  • Indexes
  • Lone DBA
  • Misc
  • MVP
  • New SQL Version
  • Performance Tuning
  • Posts with Scripts
  • Problems & Solutions
  • Quick and Dirty
  • Security
  • Speaking
  • SQL Family
  • SQLSaturday
  • SSRS
  • Summit
  • Training
  • TSQL Tuesday
  • Uncategorized

Top Posts & Pages

  • SSMS Is Getting Smarter—and This Isn't Just About Writing SQL
    SSMS Is Getting Smarter—and This Isn't Just About Writing SQL
  • SQL Index Creation Using DROP EXISTING= ON
    SQL Index Creation Using DROP EXISTING= ON
  • Wait… Could This Be the End of Index Maintenance?
    Wait… Could This Be the End of Index Maintenance?
  • Understanding Columnstore Indexes in SQL Server Part 1
    Understanding Columnstore Indexes in SQL Server Part 1
  • DMV’s for the Beginner
    DMV’s for the Beginner
  • What is Implicit Conversion?
    What is Implicit Conversion?
  • It's All in the Name, Index Naming Conventions
    It's All in the Name, Index Naming Conventions
  • VLFs the Forgotten Foe
    VLFs the Forgotten Foe
  • Hide and Group Columns in SSRS Using a Parameter
    Hide and Group Columns in SSRS Using a Parameter
  • What does this little check box do? Query Governor SQL Database Setting
    What does this little check box do? Query Governor SQL Database Setting
Graceful Pro Theme by Optima Themes - 2026 ©
Loading Comments...