FIX: Overestimations when using default Cardinality Estimator to query table with many null values

Gilt für: SQL Server 2014 DeveloperSQL Server 2014 EnterpriseSQL Server 2014 Enterprise Core

Symptoms


Assume that you have Microsoft SQL Server 2014, 2016 and 2017 installed. You have a table column that contains many null values, and you execute a query on that table by using the default Cardinality Estimator (CE). In this scenario, you may experience an overestimation in a filter that compares the table column to a value that's unknown at compile time.

Resolution


This issue is fixed in the following updates for SQL Server:

          Cumulative Update 13 for SQL Server 2017

          Cumulative Udpate 4 for SQL Server 2016 SP2

          Cumulative Update 12 for SQL Server 2016 SP1

          Cumulative Update 1 for SQL Server 2014 SP3

Cumulative Update 14 for SQL Server 2014 Service Pack 2

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Cardinality Estimation (SQL Server)

Learn about the terminology Microsoft uses to describe software updates.