I’ve been attending the PASS Summit every year since 2003 and been fortunate enough to be speaking there a few times too. Of course I am planning to attend again this year and I’ve also submitted a few sessions this time.
Something new this year though, is the fact that the session selection has been made open to the SQL Server community and we all can vote for the sessions we would like to see at the Summit. Voting closes this Friday, May 20th and we can choose from any of the 646 sessions submitted. So, if you like any of my sessions, which are described next, please vote for them here. I look forward to seeing you at the PASS Summit in October.
My submitted abstracts, all of which are for regular sessions of 75 minutes, are:
Inside the SQL Server Query Optimizer 
The SQL Server Query Optimizer is a cost-based optimizer: it analyzes a number of candidate execution plans for a given query, estimates the cost of each of these plans, and selects the plan with the lowest cost. In this session I will go into the internals of the Query Optimizer and will show you the steps that it performs in the background covering everything from the time a query is submitted to SQL Server until an execution plan is generated. I’ll show you how the Query Optimizer generates possible alternative execution plans, how these plans are stored for the duration of the optimization process, how heuristics are used to limit the number of alternative plans considered, how each candidate plan is also costed, and finally how the best alternative is chosen based on those costs. I will also cover why query optimization is an inherently complex problem and why challenges in some of its most fundamental areas are still being addressed today.
Query Optimizer Statistics for Better Performance 
The SQL Server Query Optimizer is a cost-based optimizer: the quality of the execution plans it generates is directly related to the accuracy of its cost estimations. In the same way, the estimated cost of a plan is based on the query’s cardinality estimation and the algorithms or operators it uses. In this session I will show you how the Query Optimizer uses statistics to estimate this cardinality and why having good quality statistics is extremely important for the performance of your queries. I will also cover how to diagnose and troubleshoot cardinality estimation problems in the cases when you are not getting a good execution plan and will provide solutions to these problems. Finally, existing challenges regarding statistics still faced by query optimizers today will also be discussed.
Partitioned Tables and Indexes: Management and Query Processing 
You’ve decided to implement partitioning because you want easier management of very large tables and indexes and want to improve your data loading, deletion and archival operations. But you also need to understand the query processing implications and how partitioning will impact your existing queries. On the other side, many SQL Server users still believe that the primary purpose of partitioning is to make your queries run faster by querying only a specific partition. In this session I will show you the reality and will focus on both how to implement partitioning to achieve better maintenance and data availability and how it will impact query processing, including benefits, potential issues, and recommendations.
Parameter Sniffing: the Query Optimizer vs. the Plan Cache 
Parameter sniffing is a good thing: it is used by the Query Optimizer to produce an execution plan tailored to the current parameters of a query. However, due to the way that the plan cache stores these plans in memory, sometimes can also be a performance problem. This session will show you how parameter sniffing works and in which cases could be a problem. How to diagnose and troubleshoot parameter sniffing problems and their solutions will be discussed as well. The session will also include details on how the Query Optimizer uses the histogram and density components of the statistics object and some other advanced topics.