• Library
  • Sample DBs
  • RU
  • About
Home » Archive for category "cardinality estimation"

Category Archives: cardinality estimation

Scalar UDF Estimation and Project Normalization

Posted on January 24, 2017 by Dmitry Pilugin Posted in cardinality estimation, query plan, Uncategorized

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.

Read…

cardinality project normalization Scalar TF 9259 UDF

Join Estimation Internals

Posted on July 22, 2016 by Dmitry Pilugin Posted in cardinality estimation, join, Uncategorized 1 Comment

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.

 
Read…

join cardinality TF 9479

MTVF and CE Model Variation

Posted on May 7, 2014 by Dmitry Pilugin Posted in cardinality estimation, Uncategorized

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

Read…

mtvf TF 9488

Ascending Key and CE Model Variation

Posted on May 6, 2014 by Dmitry Pilugin Posted in cardinality estimation

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

Read…

Ascending Key cardinality TF 2389 TF 2390 TF 9489

Overpopulated Primary Key and CE Model Variation

Posted on May 5, 2014 by Dmitry Pilugin Posted in cardinality estimation, Uncategorized

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

Read…

cardinality TF 9482

Join Containment Assumption and CE Model Variation

Posted on May 4, 2014 by Dmitry Pilugin Posted in cardinality estimation

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.

Read…

Containment Assumption TF 9476

Filtered Stats and CE Model Variation

Posted on May 4, 2014 by Dmitry Pilugin Posted in cardinality estimation

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

cardinality TF 9483

Cardinality Estimation Framework Version Control

Posted on May 1, 2014 by Dmitry Pilugin Posted in cardinality estimation, Uncategorized

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.

Read…

cardinality TF 2312 TF 9481 version

Cardinality Estimation Process

Posted on May 1, 2014 by Dmitry Pilugin Posted in cardinality estimation, Uncategorized

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.

Read…

cardinality estimation process TF 2363

Cardinality Estimation Concepts

Posted on May 1, 2014 by Dmitry Pilugin Posted in cardinality estimation

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…

cardinality model statistics

Recent Posts

  • SQL Server 2017: Adaptive Join Internals
  • SQL Server 2017: How to Get a Parallel Plan
  • SQL Server 2017: Statistics to Compile a Query Plan
  • SQL Server 2017: Sort, Spill, Memory and Adaptive Memory Grant Feedback
  • SQL Server vNext: Interleaved Execution for mTVF

Archives

  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • July 2016
  • February 2016
  • December 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • May 2014

Tags

adaptive query processing allocation order scan Ascending Key bailout bitmap bug cardinality columnstore estimation process hash join model mtvf nolock partitioning plan construction Post Optimization Rewrite PQTEConvert query optimizer query_trace_column_values rules sniffing spill sql server 2017 statistics TF 2312 TF 2329 TF 2340 TF 2363 TF 2389 TF 2390 TF 2486 TF 7357 TF 7359 TF 8628 TF 8744 TF 9115 TF 9481 TF 9482 TF 9483 TF 9488 TF 9489 top uncommited version vnext
  • 1
  • 2
  • Next
© Dmitry Pilugin (SomewhereSomehow), 2014 - 2017