In this post, we will continue to look at the cardinality estimation changes in SQL Server 2016. This time we will talk about scalar UDF estimation. Scalar UDFs (sUDF) in SQL Server have quite bad performance and I encourage you try to avoid them in general, however, a lot of systems still use them.

# Category Archives: cardinality estimation

## Join Estimation Internals

In this post we continue looking at the Cardinality Estimator (CE). The article explores some join estimation algorithms in the details, however this is not a comprehensive join estimation analysis, the goal of this article is to give a reader a flavor of join estimation in SQL Server.

## MTVF and CE Model Variation

This is a short quick note about multi-statement table valued functions (MTVF) and how their cardinality is estimated in the new CE framework.

## Ascending Key and CE Model Variation

In this note I’m going to discuss the one of the most useful and helpful cardinality estimator enhancements – the Ascending Key estimation.

## Overpopulated Primary Key and CE Model Variation

In this blog post we are going to talk about another cardinality estimation model enhancement in SQL Server 2014 – Overpopulated Primary Key (OPK).

## Join Containment Assumption and CE Model Variation

In this post we are going to talk about the one of the model assumptions, that was changed in the new cardinality estimation mechanism in SQL Server 2014 – Join Containment Assumption.

## Filtered Stats and CE Model Variation

In this blog post we are going to view some interesting model variation, that I’ve found while exploring the new CE.

Read…

## Cardinality Estimation Framework Version Control

This is a small post about how you may control the cardinality estimator version and determine which version was used to build a plan.

I don’t like re-writes, and this post is a complete re-write of the documentation. However, I decided to write it for the complete picture in my cardinality estimation series. Feel free to skip it, nothing really new here, if you are familiar with the theme from the other sources.

## Cardinality Estimation Process

In this post we are going to take a deeper look at the cardinality estimation process. We will use SQL Server 2014, the main concepts might also be applied to the earlier versions, however the process details are different.

## Cardinality Estimation Concepts

In this blog post we are going to talk about the principles and the main concepts which are used by the optimizer to perform an estimation.

Read…