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!

  • New SQL Version

    Approximate COUNT DISTINCT

    January 3, 2019 /

    We all have written queries that use COUNT DISTINCT to get the unique number of non-NULL values from a table. This process can generate a noticeable performance hit especially for larger tables with millions of rows. Many times, there is no way around this. To help mitigate this overhead SQL Server 2019 introduces us to approximating the distinct count with the new APPROX_COUNT_DISTINCT function. The function approximates the count within a 2% precision to the actual answer at a fraction of the time. Let’s see this in action. In this example, I am using the AdventureworksDW2016CTP3 sample database which you can download here.  SET STATISTICS IO ON SELECT COUNT(DISTINCT([SalesOrderNumber])) as DISTINCTCOUNT…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    In Memory Table Indexes

    January 22, 2020

    How to Get Started with Always Encrypted for Beginners Part 2

    December 13, 2017

    Eliminating Unnecessary DELETE Operations

    February 27, 2025
  • Indexes,  New SQL Version

    New Resumable Online Index Create SQL Server 2019

    November 28, 2018 /

    SQL Server 2019 brings a very exciting new feature that, is long overdue. Resumable online index create is one of my favorite new things. This paired with the Resumable Index Rebuilds introduced with SQL Server 2017 really gives database administrators much more control over index processes. Have you ever started to build a new index on very large table only to have users call and complain their process is hung, not completing, or system is slow? That’s when you realize you’re the cause because you tried to sneak in a new index. I have many times, because creating a new index can impact performance and can be a problematic process…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    The Mystery of SQL Server 2025’s New Tricks – Scooby Dooing Episode 5

    September 17, 2025

    So let’s talk naming conventions

    September 15, 2015

    SQL Index Creation Using DROP EXISTING= ON

    February 17, 2021

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

  • What’s a Key Lookup?
    What’s a Key Lookup?
  • SQL Index Creation Using DROP EXISTING= ON
    SQL Index Creation Using DROP EXISTING= ON
  • Understanding Columnstore Indexes in SQL Server Part 2
    Understanding Columnstore Indexes in SQL Server Part 2
  • It's All in the Name, Index Naming Conventions
    It's All in the Name, Index Naming Conventions
  • Synchronous VS Asynchronous Statistics Updates
    Synchronous VS Asynchronous Statistics Updates
  • Query Predicates in SQL Server
    Query Predicates in SQL Server
  • What does this little check box do? Query Governor SQL Database Setting
    What does this little check box do? Query Governor SQL Database Setting
  • Just Check ALL the Boxes - SQL Server Installs
    Just Check ALL the Boxes - SQL Server Installs
  • QUICK & DIRTY: Table name change for all stored procedures
    QUICK & DIRTY: Table name change for all stored procedures
  • 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
Graceful Pro Theme by Optima Themes - 2026 ©
 

Loading Comments...