The 5 Hidden Performance Gems of SQL Server 2014

33
Boris Hristov SQL Server MVP, Speaker, Trainer, Blogger and DBA The 5 Hidden Performance Gems of SQL Server 2014

Transcript of The 5 Hidden Performance Gems of SQL Server 2014

Page 1: The 5 Hidden Performance Gems of SQL Server 2014

Boris HristovSQL Server MVP, Speaker, Trainer, Blogger and DBA

The 5 Hidden Performance Gemsof SQL Server 2014

Page 2: The 5 Hidden Performance Gems of SQL Server 2014

Gold sponsors

6/20/15 | Footer Goes Here2 |

Page 3: The 5 Hidden Performance Gems of SQL Server 2014

Platinum sponsor

6/20/15 | Footer Goes Here3 |

Page 4: The 5 Hidden Performance Gems of SQL Server 2014

That’s not a Hekaton Talk!

Page 5: The 5 Hidden Performance Gems of SQL Server 2014

So who am I?

@BorisHristov

So who am I?

Page 6: The 5 Hidden Performance Gems of SQL Server 2014

5things that can make your life better

Page 7: The 5 Hidden Performance Gems of SQL Server 2014

Here’s how this will go…

time

We’re here

Page 8: The 5 Hidden Performance Gems of SQL Server 2014

1Delayed Durability

Page 9: The 5 Hidden Performance Gems of SQL Server 2014

AAtomic

Isolated

Consistent

Durable

C

I

D

Page 10: The 5 Hidden Performance Gems of SQL Server 2014

Data pages are located in, or read into, the buffer cache and then modified

2

Modification is recorded in transaction log on disk3

Later, checkpoint writes dirty pages to database

4

Buffer Cache

Transaction’s lifecycle

Page 11: The 5 Hidden Performance Gems of SQL Server 2014

Here’s the reason why it’s slow

Page 12: The 5 Hidden Performance Gems of SQL Server 2014

Data pages are located in, or read into, the buffer cache and then modified

2

Modification is recorded in transaction log on disk3

Later, checkpoint writes dirty pages to database

4

Buffer Cache

Transaction’s lifecycle

Page 13: The 5 Hidden Performance Gems of SQL Server 2014

Yes, you can lose data!

Page 14: The 5 Hidden Performance Gems of SQL Server 2014

DEMODelayed Durability

Page 15: The 5 Hidden Performance Gems of SQL Server 2014

2SELECT INTO

Page 16: The 5 Hidden Performance Gems of SQL Server 2014

Prior SQL Server 2014:Serial Execution Plans

SQL Server 2014:Parallel Execution Plans

Why don’t we speed up a bit?

Page 17: The 5 Hidden Performance Gems of SQL Server 2014

Talk with the DBAs to design a proper disk and data layout!

You want that speed, right?

Page 18: The 5 Hidden Performance Gems of SQL Server 2014

DEMOSELECT INTO

Page 19: The 5 Hidden Performance Gems of SQL Server 2014

3Cardinality Estimator

Page 20: The 5 Hidden Performance Gems of SQL Server 2014

Why is the CE so important?Why is the CE so important?

Page 21: The 5 Hidden Performance Gems of SQL Server 2014

The CE has not been changed since SQL Server 7.0

…and at the same time

Page 22: The 5 Hidden Performance Gems of SQL Server 2014

Queries with Multiple Predicates

Queries Joining Multiple Tables

New Data Not Presented in the Stats

Almost everywhere…

(this, oh btw, means you have to test a lot!)

Where to expect changes?

Page 23: The 5 Hidden Performance Gems of SQL Server 2014

DEMOCardinality Estimator

Page 24: The 5 Hidden Performance Gems of SQL Server 2014

4Inline Index Definitions

(remember this one for later)

Page 25: The 5 Hidden Performance Gems of SQL Server 2014

SQL Server 2012

SQL Server 2014

Remember this improvement

Page 26: The 5 Hidden Performance Gems of SQL Server 2014

DEMOInline Index Definitions

Page 27: The 5 Hidden Performance Gems of SQL Server 2014

5Partitioning Improvements

Page 28: The 5 Hidden Performance Gems of SQL Server 2014

Numbers

0

8000

Partition 2

2501

4000

Partition 3

4001

8000

Why is partitioning both cool and not?

Partition 1

0

2500

Page 29: The 5 Hidden Performance Gems of SQL Server 2014

DEMOPartitioning Improvements

Page 30: The 5 Hidden Performance Gems of SQL Server 2014

+1Temporary Objects Caching

Page 31: The 5 Hidden Performance Gems of SQL Server 2014

In summary

Delayed Durability

Parallel SELECT INTO

Cardinality Estimator

Inline Index Creation

Partitioning Improvements

Testing is important!

Page 33: The 5 Hidden Performance Gems of SQL Server 2014

Thank you!

Contacts:[email protected]@BorisHristovwww.borishristov.com