QDPMA.com - Joe Chang

About Joe, former SQL Server Consultant, now at Deloitte
Contact: jchang6 at yahoo.com or jchang61 at outlook.com

PASS 2018

Nov 6-9, PASS Summit 2018, Rethink Server Sizing Joe Chang   (PASS links are nolonger accessible?)
slides pdf   Date: Nov 7, Time: 4:45PM, 2018

Categories and Feature Articles

Query Optimizer and Performance  formerly "The SQL Server Cost-Based Optimizer"

    Execution Plan Cost Model 2019-09

    Mysterious Performance Symptoms in SQL Server 2018-07

    Path to In-Memory Databases - Hekaton 2013-02     kCura Relativity 2013-04, updated 2013-09

Server Systems and Architecture  2019-Oct

   Heat Sink for Server Memory (2019 Oct, update 2020 May)

   Fast DRAM (2018 Oct)    Too Much Memory (2018 Sep)    RISC vs. CISC (2018-08)

   Multi-Processors Must Die (2018-08)    Intel 10nm Delay Assessment (2018-08)

   Memory Latency (2018-04)    TPC-E Benchmarks (2018-04)

   DRAM (2018-03)    SRAM as Main Memory (2018-03)

    Transaction IO Performance on Violin (2015-02),     SAN IO Performance Problems (2015-02),

System Architecture   (being merged into Server Systems and Architecture)

Processor Architectures   Updated 2019 new die images scaled
    Intel processor die images (mainline desktop)

Performance Benchmarks  
    Parallel Execution in SQL Server 2016 (2017-01).
    Hyper-Threading performance on TPC-H queries (2013-03).

Performance Tools

ExecStats (2015+) is my own SQL Server performance analysis and data collection tool. Please try it out and send feedback. SQL Exec Stats has been combined with SQL System as of 2012 Q4, (old ExecStats page)

Download       Exec Stats (somewhat latest, .NET 4.6x, 2020-02-27)

There is an issue in ExecStats when handling very large datasets. Note the size of the database is not the topic. The issue has to do with the number and complexity of objects of interest: tables, indexes, statistics, stored procedures, functions, and execution plans. This may be observed when ExecStats memory usage reaches 2GB+.

  Exec Stats 2021-08-27 2021-08+
  Exec Stats 2020-02-27a Includes 7z.dll+
  Exec Stats 2020-02-27 Tables Avg Row Sz overflow fix+
  Exec Stats 2020-02-04 Sql DataReader use COMPRESS function for 2016+
  Exec Stats 2019-10-07 Gembox ver 4.5, minor changes,
  ExecStatsC 2019-10-07 .NET Core,
  I would like to hear feedback on this.

  2019-04-19 back to .NET 4.6.0 per client requirement

  2019-02-26 .NET 4.7.2, contemplating .NET Core in future release

Recent changes:
2019-02-01 GC large memory
2018-12-08 SQL source and actual plan fixes, Runtime Ctrs & WaitStats
2018-10-26 dm_os_buffer_descriptors
2018-10-23 summary for connections, sessions, parallel
2018-09-24 dm_os_memory_node_access_stats , requires trace flag 842?
2018-07-23 incorporates 7zr.exe, auto-compresses to 7z
2018-07-19 test version, console mode -c
2018-06-23 now tracking open xml handles
Also getting procedure, function (2016) and trigger exec stats,
tbd: get trigger plans?

SQL Scripts

current scripts in zip file system procedures (2021-04-06)

  spaceused with table level details (2018-02)

  sp_helpindex2 (update pending)

  sp_partitions (2018-02-23)

  sp_updatestats2 system procedure identifies such indexes and applies a full scan update.

  sp_vas (2018-07) for tracking virtual_address_space_reserved.

How to approach SQL Server performance

I made this for a talk a few years ago. I liked it so much that it is now in all my slides.


Of course, that does not mean it is complete, so please send feedback via Joe on SQLblogs
SQL Blog unfortunately seems to be dying, please send comment to emails at top.

Standalone Articles

 About 64-bit

 Gigabit Ethernet

 SIMD Extensions for the Database Storage Engine

Also on Linkedin articles (these are older versions of the two above articles):
  Multi-Processors Must Die   Intel 10nm Delay Assessment
  Mysterious Performance Symptoms in SQL Server  
  SRAM as Main Memory Cost Benefit   Rethink Server Sizing 2017  

Events and Presentations


PASS Summit 2018, Seattle
Rethink Server Sizing
Joe Chang Date: Nov 7, Time: 4:45PM, (PASS links are nolonger accessible?)
preliminary slides pdf    slides

Feb 10, SQL Saturday 696 Redmond, Rethink Server Sizing,   (pdf)


Data Architecture Summit   Is Performance Still Important   slidedeck


2015 Jun 20 SQL Saturday Bratislava Comprehensive Indexing 2015
2015 May 30 SQL Saturday New York Comprehensive Indexing 2015   OK, same slidedeck for both.

2015 Mar 04 Copenhagen, SQL Rally Nordic, Automating Execution Plan Analysis 2015 (Updated)

2015 Jan 22, Oslo SQL Server User Group Norway at Teknologihuset
Statistics That Need Special Attention


Joe presented at SQL Saturday Oslo, 30 Aug 2014
Modern Performance 2014 Oslo

Redmond, 31 May 2014   Automating Execution Plan Analysis for Comprehensive (Whole DB?) Performance.

NOVA, 19 May 2014 Modern Performance 2014

SQL Saturday Atlanta, 3 May 2014

SQL Saturday Budapest, 1 Mar 2014
I was at SQL Saturday Boston on 29 Mar, but not presenting.


2013 Oct 6 at Silicon Valley Code Camp

Modern Performance 2013 (updated 2013-10-06, original 10-03)
Note: Modern Performance-SVCC, the SQL Performance 2013-Riyadh and the 2012 Automating Performance-Copenhagen slidedecks are all on the same topic.

2013 May at SQL Saturday Riyadh, Saudi Arabia

Storage 2013

SQL Performance 2013 (Special Topics)

2012 Oct 2 & 3 at SQL Rally Nordic, Copenhagen

Automating Performance Data Collection, Analysis etc.

Presented at SQL PASS Deutschland

I presented at Munich on 10 Jan 2013. Will put up slides soon?

SQL PASS Deutschland

SQL Server Query Optimizer Cost Formulas 2010-Dec?

2011 SQL Saturday Trinidad Presentations

Performance for Small/Medium Business

SQLBits 2010

I presented a session at SQLBits on 1 Oct 2010 in York, England. (if this where New York was named after?) Anyways, I tried to squeeze 4-5 hours of material into 1 hour. So I will try to write up everything and collect it here.

  1) NUMA System Architecture
  2) Storage Performance for Data Warehouse
  3) Parallel Execution Plans Part I, Part II, Part III
  4) TPC-H Benchmarks, SF100, SF300, SF1000, SF3000
  5) TPC-H Studies at SF10

Slidedecks: SQLBits Presentations

SQL Server 2008 Presentations

SQL Server Query Optimizer Cost Formulas

Storage Configuration, NOVA 2009

SQL Server 2005 Presentations

SQL Server 2005 Performance Enhancements for Large Queries

SQL Server 2000 Presentations from past conferences

Execution Plan Cost Formulas

Quantitative Performance Analysis, CMG2004

Loop Merge and Hash Joins

Insert Update Delete

Large Data Operations

Parallel Execution Plans

Storage Performance, Connections Spring 2005 ?


Joe on SQLblogs

Joe on SQL-Server-Performance

Solid Quality Journal



Efficiently Clone Databases by Kevin Kline

Optimizing Power for SQL Server ... by Jimmy May

Logical I/Os – Not a useful performance metric? by Joe Sack

An Introduction to Cost Estimation Benjamin Nevarez

I posted this HealthCare.Gov Fiasco back in 2013.

I noticed this link at GSU HealthCare.Gov Fiasco for PMBA 8125 course, 2014, taught by Duane Truex?.



Hatfield   W-H   Whately   Sunderland   MtWarner  


In case anyone is interested, the old frameset page is here wframeset.html. I never figured out how to code it.