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!

  • Azure,  Performance Tuning

    Adaptive Joins in SQL Server

    September 2, 2020 /

    SQL Server 2017 (compatibility 140) brought us many Intelligent Query Processing (IQP), formally known as Adaptive Query Processing, features that improve performance on workloads straight out of the box with no code changes to implement. One of those features introduced was Adaptive Joins. In this feature the join operator is dynamically determined at runtime by the optimizer, which defines a threshold number of rows and then chooses between a Nested Loop or Hash Match join operator. This operator switch can produce a better join and improve performance of your queries without you having to lift a finger. Not all queries will qualify for this new feature. The feature only applies…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    What SQL Server Performance & Management Tools Do I Use?

    September 4, 2019

    TIL: Microsoft Azure Part 1

    May 17, 2017

    In Memory Table Indexes

    January 22, 2020
  • Performance Tuning

    What is Batch Mode on Rowstore in SQL Server?

    June 16, 2020 /

    Under compatibility level 150, in both SQL Server 2019 and Azure SQL Database, you now can use batch mode for CPU-bound analytic type workloads without requiring columnstore indexes. There is no action needed to turn on batch mode aside from being on the proper compatibility mode. You also have the ability to enable it as a database scoped configuration option (as shown below), and you can hint individual queries to either use or not use batch mode (also shown below). If you recall in my earlier blogs on columnstore, it is batch mode in conjunction with page compression that drastically increases query performance. This feature, Batch Mode on Rowstore, allows…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    The FAST number_rows Query Hint

    October 16, 2019

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

    September 24, 2025

    Summit Submission Feedback Response

    June 28, 2016
  • 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

    Trouble Shooting Little Jewel -Windows PSR (Problem Steps Recorder)

    March 29, 2017

    Respectfully Responding

    June 14, 2018

    How to Get Started with Always Encrypted for Beginners Part 2

    December 13, 2017
  • 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

    SQL Server Updates Tricked Me for Years

    February 21, 2018

    What does this little check box do? Query Governor SQL Database Setting

    September 13, 2017

    Add Azure Cache for Redis to Your Azure SQL Performance Tuning Toolbox

    July 14, 2021
  • 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

    System-Versioned Temporal Tables

    August 30, 2017

    5 Ways to Examine Cardinality Metrics

    May 2, 2018

    Keep It Simple Stupid

    July 24, 2019

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

  • Ruh-Roh! SQL Server 2025 Finally Brings Us a Free Standard Developer Edition -  Scooby Dooing Episode 2
    Ruh-Roh! SQL Server 2025 Finally Brings Us a Free Standard Developer Edition - Scooby Dooing Episode 2
  • Memory Optimized Tables in SQL Server
    Memory Optimized Tables in SQL Server
  • What’s a Key Lookup?
    What’s a Key Lookup?
  • DMV’s for the Beginner
    DMV’s for the Beginner
  • Resizing Tempdb (When TEMPDB Wont Shrink)
    Resizing Tempdb (When TEMPDB Wont Shrink)
  • Synchronous VS Asynchronous Statistics Updates
    Synchronous VS Asynchronous Statistics Updates
  • Hide and Group Columns in SSRS Using a Parameter
    Hide and Group Columns in SSRS Using a Parameter
  • Add DBCC INPUTBUFFER to Your Performance Tuning Toolbox
    Add DBCC INPUTBUFFER to Your Performance Tuning Toolbox
  • Tempdb Performance Improvements in SQL Server 2022 are Dramatic
    Tempdb Performance Improvements in SQL Server 2022 are Dramatic
  • SQL Server Statistics Health Reminder
    SQL Server Statistics Health Reminder
Graceful Pro Theme by Optima Themes - 2026 ©
 

Loading Comments...