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

    Attending Summit as a New Leader

    November 6, 2015

    Expanding My Reach

    February 7, 2018

    This Idera ACE Has Been Busy

    August 23, 2016
  • 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

    SQL Server Data Collection and Management Data Warehouse

    October 3, 2018

    Admit You Can’t Do Everything

    September 28, 2015

    5 Ways to Examine Cardinality Metrics

    May 2, 2018

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?
  • DMV’s for the Beginner
    DMV’s for the Beginner
  • Importance of Statistics in SQL Server
    Importance of Statistics in SQL Server
  • Understanding Columnstore Indexes in SQL Server Part 1
    Understanding Columnstore Indexes in SQL Server Part 1
  • Understanding Columnstore Indexes in SQL Server Part 2
    Understanding Columnstore Indexes in SQL Server Part 2
  • How SQL Server Synonyms Help Database DevOps
    How SQL Server Synonyms Help Database DevOps
  • Add Azure Cache for Redis to Your Azure SQL Performance Tuning Toolbox
    Add Azure Cache for Redis to Your Azure SQL Performance Tuning Toolbox
  • It's All in the Name, Index Naming Conventions
    It's All in the Name, Index Naming Conventions
  • SQL Server Updates Tricked Me for Years
    SQL Server Updates Tricked Me for Years
  • Mastering TempDB: The Basics
    Mastering TempDB: The Basics
Graceful Pro Theme by Optima Themes - 2026 ©
 

Loading Comments...