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.
Category Archives: Uncategorized
Batch Sort and Nested Loops
Continuing my blog post series after 24HOP Russia “Query Processor Internals – Joins”.
In this (and the next one) blog post, we will talk about the Nested Loops Post Optimization Rewrite optimizations.
Yet another X-Ray for the QP
This post is for the absolutely geeky people. For those that will not afraid when they hear: “query transformation rules”.
Partitioned clustered index and FORCESCAN bug
I would like to share one curios case that I recently came across.
Long story short:
This bug may lead to incorrect results if you use a partitioned table and the FORCESCAN hint.
Read…
NOLOCK and Top Optimization
Sometimes people use nolock hint as a “turbo” button for their queries, assuming that not taking locks will speed up the query execution. There are many good articles describing all the dangerous moments of this approach, because of the read uncommitted isolation level. However, the focus of this article is a performance problem that you may encounter using nolock hint in some cases.
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.
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).
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.
Greetings
Welcome everybody!
This is the first post in my new blog, the old one: www.SomewhereSomehow.ru – was in Russian, the new one is in English. As you may guess, it is dedicated to the query processing in SQL Server, this includes Query Optimization and Query Execution.
This is my first experience of more or less comprehensive writing in English, and though I double check typos and using Ginger software to verify grammar – I’m sure there will be language issues. Feel free to contact me and report it, I need to learn from my mistakes =), also, feel free to ask any questions if I was not clear enough. You may find my contacts on the about page.
Let’s start!