Indexing survival guide for SQL 2016 In-Memory OLTP. Ned Otter SQL Strategist

Size: px
Start display at page:

Download "Indexing survival guide for SQL 2016 In-Memory OLTP. Ned Otter SQL Strategist"

Transcription

1 Indexing survival guide for SQL 2016 In-Memory OLTP Ned Otter SQL Strategist

2 About me SQL Server DBA since 1995 MCSE Data Platform Passionate about SQL Server Obsessed with In-Memory

3 Agenda Editions Indexes Recovery Temporal Maintenance Troubleshooting

4 Editions, as of SQL 2016/SP1 Max In-Mem/ Edition Enterprise Standard Web Express Columnstore OS limit 32 GB/32 GB 16 GB/16 GB 352 MB/352 MB

5 Standard Edition (32 GB) Feature Per db Per instance In-Memory Yes No

6 Standard Edition (32 GB) Feature Per db Per instance In-Memory Yes No Columnstore Depends Depends

7 Standard Edition (32 GB) Feature Per db Per instance Columnstore/In-Mem tbl Yes No

8 Standard Edition (32 GB) Feature Per db Per instance Columnstore/In-Mem tbl Yes No Columnstore/HD tbl No Yes

9 ROW STRUCTURE

10 Row structure HEADER Begin TS End TS Idx Ptr Data

11 Row structure HEADER 8060 Begin TS End TS Idx Ptr Data

12 Row structure in row/off row 8060??? in-row off-row

13 Row structure in row/off row 8060??? in-row off-row DISK TABLE: DYNAMIC

14 Row structure in row/off row 8060??? in-row off-row DISK TABLE: DYNAMIC MEM TABLE: STATIC*

15 SYNTAX

16 DURABILITY = SCHEMA_AND_DATA = PK SCHEMA_ONLY = ONE INDEX

17 Syntax CREATE TABLE [dbo].[inmem] ( [col1] [int] IDENTITY(1, 1) NOT NULL,[col2] [char](100) NOT NULL,INDEX IX_InMem_col2(col2) ) WITH (MEMORY_OPTIMIZED = ON,DURABILITY = SCHEMA_AND_DATA)

18 Syntax ALTER TABLE/ADD INDEX ALTER TABLE/ALTER INDEX ALTER TABLE/DROP INDEX

19 Consistent terms avoid confusion ALTER TABLE <tblname> ADD INDEX <ixname> [NONCLUSTERED] (col1); ALTER TABLE <tblname> ADD INDEX <ixname> [NONCLUSTERED] HASH (col1) WITH (BUCKET_COUNT = 64);

20 Consistent terms avoid confusion ALTER TABLE <tblname> ADD INDEX <ixname> [NONCLUSTERED] (col1); ALTER TABLE <tblname> ADD INDEX <ixname> [NONCLUSTERED] HASH (col1) WITH (BUCKET_COUNT = 64); RANGE HASH

21 Syntax ALTER TABLE dbo.mytable ADD INDEX IX_mytable_CustomerID(CustomerID), IX_mytable_OrderID(OrderID)

22 DEMO

23 Indexes Range Hash Columnstore

24 Characteristics of RANGE indexes INEQUALITY DYNAMIC PAGES!= FIXED LOCK/LATCH FREE

25 Characteristics of HASH indexes EQUALITY STATIC PAGES = FIXED BUCKETS/ ROUNDING

26 Indexes Attribute HASH RANGE Optimized for Equality seeks and inserts Inequality seeks and ordered scans

27 Indexes Attribute HASH RANGE Optimized for Equality seeks and inserts Inequality seeks and ordered scans Fixed size? can be rebuilt No

28 Indexes Attribute HASH RANGE Rows returned in ORDER Not possible Possible (key order)

29 Indexes Attribute HASH RANGE Rows returned in ORDER Single index for ASC/DESC Not possible (table scan) n/a Possible (key order) No

30 Indexes Attribute HASH RANGE Query must use ALL key columns Yes No

31 Indexes Attribute HASH RANGE Query must use ALL key columns Yes No Can be modified after table creation

32 Indexes Attribute HASH RANGE Query must use ALL key columns Yes No Can be modified after table creation FILLFACTOR No No

33 Indexes Attribute HASH RANGE Query must use ALL key columns Yes No Can be modified after table creation FILLFACTOR No No FRAGMENTATION No No

34 FK/UNIQUE/PRIMARY Condition Disk In-Mem FK references UNIQUE idx YES NO

35 Max key length Index type Max key length HASH RANGE None* 2500 bytes

36 Indexes COVERING LOGGING* MIN INDEXES MAX INDEXES*

37 ALTER TABLE

38 ALTER TABLE Can be parallel/logs metadata only Executes OFFLINE SCHEMABINDING (column changes) Memory requirements

39 Indexes: In row/off row CREATE TABLE dbo.inmem_very_long_row (pkcol INT IDENTITY PRIMARY KEY,col2 VARCHAR(8000) NOT NULL,col3 NVARCHAR(4000) NOT NULL,col4 NVARCHAR(2000) NOT NULL WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)

40 ALTER TABLE ALTER TABLE dbo.inmem_very_long_row ADD INDEX IX1 (pkcol, col4) (4) (2000)

41 ALTER TABLE ALTER TABLE dbo.inmem_very_long_row ADD INDEX IX1 (pkcol, col4) (4) (2000) off-row

42 ALTER TABLE ALTER TABLE dbo.inmem_very_long_row ADD INDEX IX1 (pkcol, col4) (4) (2000) in-row

43 ALTER TABLE Serially executed and fully logged Key column movement Add/drop COLUMNSTORE index Add/alter variable length LOB Create new off-row column

44 COLUMNSTORE (CCI)

45 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes

46 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes No

47 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes No ALTER TABLE, columns Yes

48 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes No ALTER TABLE, columns Yes No

49 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes No ALTER TABLE, columns Yes No ALTER TABLE, indexes Yes

50 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes No ALTER TABLE, columns Yes No ALTER TABLE, indexes Yes Yes (inline)

51 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes No ALTER TABLE, columns Yes No ALTER TABLE, indexes Yes Yes (inline) Native compilation n/a

52 In-Memory Clustered Columnstore Item On-disk In-mem Primary copy of data Yes No ALTER TABLE, columns Yes No ALTER TABLE, indexes Yes Yes (inline) Native compilation n/a No

53 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes

54 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No

55 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes

56 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes No*

57 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes No* REBUILD Yes

58 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes No* REBUILD Yes Bucket only

59 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes No* REBUILD Yes Bucket only Filtered NC only

60 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes No* REBUILD Yes Bucket only Filtered NC only No

61 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes No* REBUILD Yes Bucket only Filtered NC only No Vertipaq optimization Yes

62 In-Memory Clustered Columnstore Item On-disk In-mem Archival compression Yes No REORGANIZE Yes No* REBUILD Yes Bucket only Filtered NC only No Vertipaq optimization Yes No

63 In-Memory Clustered Columnstore Item On-disk In-mem Parallelism Yes

64 In-Memory Clustered Columnstore Item On-disk In-mem Parallelism Yes Interop

65 Why is the number and placement of containers absolutely critical? CONTAINER (FOLDER) DATA/DELTA FILES

66 Recovery process MEMORY-OPTIMIZED TABLES CONTAINER CREATE files COPY data STREAM data

67 Recovery process MEMORY-OPTIMIZED TABLES CONTAINER CREATE files COPY data STREAM data CREATE indexes

68 Recovery process MEMORY-OPTIMIZED TABLES CONTAINER 1 CONTAINER 2 CONTAINER 3 CONTAINER 4

69 Recovery events OFFLINE/ONLINE SQL restart RESTORE Server boot READ_ONLY READ_WRITE READ_COMMITTED_SNAPSHOT ON/OFF

70 Potential recovery issues INDEXES* LOB CONTAINERS FCI/AG (durable)

71 TEMPORAL

72 DEMO

73 Temporal Tables Temporal In-Mem

74 Temporal Tables Temporal In-Mem History on-disk

75 Temporal Tables Temporal In-Mem Staging In-Mem

76 Temporal Tables Temporal In-Mem Staging In-Mem old versions

77 Temporal Tables Temporal In-Mem Staging In-Mem old versions 8% of temporal

78 Temporal Tables Temporal In-Mem Staging In-Mem old versions async 8% of temporal History on-disk

79 Temporal Tables Temporal In-Mem old versions Staging In-Mem Default IDX ValidFrom/ValidTo async History on-disk

80 Temporal Tables Temporal In-Mem old versions Staging In-Mem Default IDX ValidFrom/ValidTo SELECT * FROM table WHERE ValidFrom = async History on-disk

81 Temporal Tables Temporal In-Mem old versions Staging In-Mem Default IDX ValidFrom/ValidTo SELECT * FROM table WHERE ValidFrom = async History on-disk

82 Temporal Tables Temporal In-Mem old versions Staging In-Mem Default IDX ValidFrom/ValidTo SELECT * FROM table WHERE col1 = 5 async History on-disk

83 Temporal Tables Temporal In-Mem old versions Staging In-Mem Default IDX ValidFrom/ValidTo SELECT * FROM table WHERE col1 = 5 async History on-disk

84 Temporal Tables SQL 2016/SP1 Temporal In-Mem old versions Staging In-Mem Custom IDX col1 Default IDX ValidFrom/ValidTo SELECT * FROM table WHERE col1 = 5 async History on-disk

85 Temporal Tables SQL 2016/SP1 Temporal In-Mem old versions Staging In-Mem Custom IDX col1 Default IDX ValidFrom/ValidTo SELECT * FROM table WHERE col1 = 5 async History on-disk

86 Temporal custom indexing SQL 2016/SP1 TF Multiple indexes Add/drop indexes Dynamic table name Scripting/failover sys.sp_xtp_flush_temporal_history

87 INDEX MAINTENANCE

88 Index maintenance FRAGMENTATION FILLFACTOR REORGANIZE

89 Index maintenance HASH: REBUILD BUCKETS

90 Index maintenance, Columnstore REORGANIZE

91 TAIL/vDELTA RG ROW GROUPS

92 Index Maintenance, Columnstore REORGANIZE ** TAIL ** sys.sp_memory_optimized_cs_migration

93 Index maintenance, Columnstore COMPRESSION DELAY

94 STATISTICS Manually created Auto created Auto updated (compatibility level) Manually updated (UPDATE STATISTICS) Native modules

95 Troubleshooting

96 Troubleshooting HASH indexes sys.dm_db_xtp_hash_index_stats Avg. chain length/bucket count Dupes/collisions Searching on subset of key columns Inequality predicates

97 Native compilation issues EXEC

98 Native compilation issues natively_compiled_proc_slow_parameter_passing Issue Named parameters Mismatched datatypes xevents reason named_parameters parameter_conversion

99 Best practices Foreign keys Bucket count Chain length Update stats/recompile Native compilation (parameters)

100 unsupported features FULLTEXT FILTERED ASCENDING/DESCENDING COMPUTED COLUMNS INDEXED VIEWS INCLUDEd columns

101 SQL vnext > 8 indexes per table NC rebuild enhancement Indexes on computed columns

102 Parallelism INDEX SCANS HEAP SCANS INTEROP SAMPLED STATS ALTER TABLE*

103 Agenda Editions Indexes Recovery Temporal Maintenance Troubleshooting

104 e: Indexing survival guide for SQL 2016 In-Memory OLTP Ned Otter SQL Strategist

The DBA Survival Guide for In-Memory OLTP. Ned Otter SQL Strategist

The DBA Survival Guide for In-Memory OLTP. Ned Otter SQL Strategist The DBA Survival Guide for In-Memory OLTP Ned Otter SQL Strategist About me SQL Server DBA since 1995 MCSE Data Platform Passionate about SQL Server Obsessed with In-Memory Key takeaways Recovery (RTO)

More information

Real world SQL 2016 In-Memory OLTP

Real world SQL 2016 In-Memory OLTP Real world SQL 2016 In-Memory OLTP Ned Otter SQL Strategist #588 About me SQL Server DBA since 1995 MCSE Data Platform Passionate about SQL Server Obsessed with In-Memory KEY TAKEAWAYS ARCHITECTURE RTO

More information

Will my workload run faster with In-Memory OLTP?

Will my workload run faster with In-Memory OLTP? Will my workload run faster with In-Memory OLTP? Ned Otter SQL Strategist Thank you Sponsors! Will my workload run faster with In-Memory OLTP? Will my workload run faster with In-Memory OLTP? What is the

More information

In-Memory Tables and Natively Compiled T-SQL. Blazing Speed for OLTP and MOre

In-Memory Tables and Natively Compiled T-SQL. Blazing Speed for OLTP and MOre In-Memory Tables and Natively Compiled T-SQL Blazing Speed for OLTP and MOre Andy Novick SQL Server Consultant SQL Server MVP since 2010 Author of 2 books on SQL Server anovick@novicksoftware.com www.novicksoftware.com

More information

SQL Server 2014 Highlights der wichtigsten Neuerungen In-Memory OLTP (Hekaton)

SQL Server 2014 Highlights der wichtigsten Neuerungen In-Memory OLTP (Hekaton) SQL Server 2014 Highlights der wichtigsten Neuerungen Karl-Heinz Sütterlin Meinrad Weiss March 2014 BASEL BERN BRUGG LAUSANNE ZUERICH DUESSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MUNICH STUTTGART

More information

Quick Poll. SQL Server 2014 In-Memory OLTP. Prod Test

Quick Poll. SQL Server 2014 In-Memory OLTP. Prod Test Quick Poll SQL Server 2014 In-Memory OLTP Prod Test Agenda Recap XTP Architecture & Performance-Factors Tabellen & Indexe Data & Delta Files Merge-Process & Garbage Collector XTP Integration & Areas of

More information

New features in SQL Server 2016

New features in SQL Server 2016 New features in SQL Server 2016 Joydip Kanjilal Microsoft MVP (2007 till 2012), Author and Speaker Principal Architect (SenecaGlobal IT Services Private Limited) Agenda SQL Server 2016 Enhancements Improved

More information

SQL Server 2014 In-Memory Technologies.

SQL Server 2014 In-Memory Technologies. SQL Server 2014 In-Memory Technologies Agenda Columnstore technology Clustered columntore index Nonclusterd columnstore index Memory-optimized tables Summary Columnstore technology Highlights Storage Columnstore

More information

What the Hekaton? In-memory OLTP Overview. Kalen Delaney

What the Hekaton? In-memory OLTP Overview. Kalen Delaney What the Hekaton? In-memory OLTP Overview Kalen Delaney www.sqlserverinternals.com Kalen Delaney Background: MS in Computer Science from UC Berkeley Working exclusively with SQL Server for 28 years SQL

More information

SQL Server 2014 In-Memory OLTP: Prepare for Migration. George Li, Program Manager, Microsoft

SQL Server 2014 In-Memory OLTP: Prepare for Migration. George Li, Program Manager, Microsoft SQL Server 2014 In-Memory OLTP: Prepare for Migration George Li, Program Manager, Microsoft Drivers Architectural Pillars Customer Benefits In-Memory OLTP Recap High performance data operations Efficient

More information

SQL Server 2014 In-Memory Tables (Extreme Transaction Processing)

SQL Server 2014 In-Memory Tables (Extreme Transaction Processing) SQL Server 2014 In-Memory Tables (Extreme Transaction Processing) Advanced Tony Rogerson, SQL Server MVP @tonyrogerson tonyrogerson@torver.net http://www.sql-server.co.uk Who am I? Freelance SQL Server

More information

Data Partitioning. For DB Architects and Mere Mortals. Dmitri Korotkevitch

Data Partitioning. For DB Architects and Mere Mortals. Dmitri Korotkevitch Data Partitioning For DB Architects and Mere Mortals Dmitri Korotkevitch http://aboutsqlserver.com Please silence cell phones Explore Everything PASS Has to Offer FREE ONLINE WEBINAR EVENTS FREE 1-DAY

More information

Columnstore Indexes In SQL Server 2016 #Columnstorerocks!!

Columnstore Indexes In SQL Server 2016 #Columnstorerocks!! Columnstore Indexes In SQL Server 2016 #Columnstorerocks!! Nombre: Gonzalo Bissio Experiencia: Trabajo con SQL desde la versión 2000 MCSA: 2012-2014-2016 Database Administrator MCSE: Data Platform Correo

More information

Module 9: Managing Schema Objects

Module 9: Managing Schema Objects Module 9: Managing Schema Objects Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing data integrity using constraints Implementing

More information

Building Better. SQL Server Databases

Building Better. SQL Server Databases Building Better SQL Server Databases Who is this guy? Eric Cobb SQL Server Database Administrator MCSE: Data Platform MCSE: Data Management and Analytics 1999-2013: Webmaster, Programmer, Developer 2014+:

More information

Indexes Best Practices (II) More T-SQL Control-Of-Flow Language

Indexes Best Practices (II) More T-SQL Control-Of-Flow Language Indexes Best Practices (II) More T-SQL Control-Of-Flow Language S6 Indexes Best Practices (II) SET options Indexed Views Required value Default server value ANSI_NULLS ON ON ANSI_PADDING ON ON ANSI_WARNINGS

More information

SQL Server 2014: In-Memory OLTP for Database Administrators

SQL Server 2014: In-Memory OLTP for Database Administrators SQL Server 2014: In-Memory OLTP for Database Administrators Presenter: Sunil Agarwal Moderator: Angela Henry Session Objectives And Takeaways Session Objective(s): Understand the SQL Server 2014 In-Memory

More information

Seven Awesome SQL Server Features

Seven Awesome SQL Server Features Seven Awesome SQL Server Features That You Can Use for Free Allison Benneth @SQLTran www.sqltran.org SQL Server Editions SQL2005 SQL2008 SQL2008R2 SQL2012 SQL2014 SQL2016 * Free starting with SQL Server

More information

Boosting DWH Performance with SQL Server ColumnStore Index

Boosting DWH Performance with SQL Server ColumnStore Index Boosting DWH Performance with SQL Server 2016 ColumnStore Index Thank you to our AWESOME sponsors! Introduction Markus Ehrenmüller-Jensen Business Intelligence Architect markus.ehrenmueller@gmail.com @MEhrenmueller

More information

ColumnStore Indexes UNIQUE and NOT DULL

ColumnStore Indexes UNIQUE and NOT DULL Agenda ColumnStore Indexes About me The Basics Key Characteristics DEMO SQL Server 2014 ColumnStore indexes DEMO Best Practices Data Types Restrictions SQL Server 2016+ ColumnStore indexes Gareth Swanepoel

More information

SQL Server 2014/2016 Enhancements for Developers. Wylie Blanchard Lead IT Consultant; SQL Server DBA

SQL Server 2014/2016 Enhancements for Developers. Wylie Blanchard Lead IT Consultant; SQL Server DBA SQL Server 2014/2016 Enhancements for Developers Wylie Blanchard Lead IT Consultant; SQL Server DBA About Great Tech Pros Great Tech Pros was founded in 2012 Specialties include: IT Consulting Database

More information

Columnstore in real life

Columnstore in real life Columnstore in real life Enrique Catalá Bañuls Computer Engineer Microsoft Data Platform MVP Mentor at SolidQ Tuning and HA ecatala@solidq.com @enriquecatala Agenda What is real-time operational analytics

More information

/**Memory-Optimized Tables**/ ---- drop database InMemOLTP - if already exists Use MASTER DROP DATABASE if EXISTS InMemOLTP

/**Memory-Optimized Tables**/ ---- drop database InMemOLTP - if already exists Use MASTER DROP DATABASE if EXISTS InMemOLTP /***** Technology Enhancements for SQL Server 2014/2016 Developers - Demo file By: Wylie Blanchard Note: SQL Server 2016 is required for this demo *****/ /**Memory-Optimized Tables**/ ---- drop database

More information

CAST(HASHBYTES('SHA2_256',(dbo.MULTI_HASH_FNC( tblname', schemaname'))) AS VARBINARY(32));

CAST(HASHBYTES('SHA2_256',(dbo.MULTI_HASH_FNC( tblname', schemaname'))) AS VARBINARY(32)); >Near Real Time Processing >Raphael Klebanov, Customer Experience at WhereScape USA >Definitions 1. Real-time Business Intelligence is the process of delivering business intelligence (BI) or information

More information

What is a Page Split. Fill Factor. Example Code Showing Page Splits

What is a Page Split. Fill Factor. Example Code Showing Page Splits What is a Page Split Tables, and indexes are organized in SQL Server into 8K chunks called pages. If you have rows that are 100k each, you can fit about 80 of those rows into a given page. If you update

More information

SQL Server 2014 Internals and Query Tuning

SQL Server 2014 Internals and Query Tuning SQL Server 2014 Internals and Query Tuning Course ISI-1430 5 days, Instructor led, Hands-on Introduction SQL Server 2014 Internals and Query Tuning is an advanced 5-day course designed for experienced

More information

SQL Server technical e-book series. SQL Server performance: faster querying with SQL Server

SQL Server technical e-book series. SQL Server performance: faster querying with SQL Server SQL Server technical e-book series 1 SQL Server performance: faster querying with SQL Server SQL Server performance: faster querying with SQL Server Content 01 Introduction: Faster data growth demands

More information

Martin Cairney. The Why and How of Partitioned Tables

Martin Cairney. The Why and How of Partitioned Tables Martin Cairney The Why and How of ed Tables Housekeeping Mobile Phones please set to stun during the session Session Evaluation Martin Cairney Microsoft Data Platform MVP Microsoft Certified Trainer Organiser

More information

Heckaton. SQL Server's Memory Optimized OLTP Engine

Heckaton. SQL Server's Memory Optimized OLTP Engine Heckaton SQL Server's Memory Optimized OLTP Engine Agenda Introduction to Hekaton Design Consideration High Level Architecture Storage and Indexing Query Processing Transaction Management Transaction Durability

More information

Developing SQL Databases

Developing SQL Databases Course 20762A: Developing SQL Databases Course details Course Outline Module 1: Introduction to Database Development This module is used to introduce the entire SQL Server platform and its major tools.

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!  We offer free update service for one year PASS4TEST \ http://www.pass4test.com We offer free update service for one year Exam : 70-762 Title : Developing SQL Databases Vendor : Microsoft Version : DEMO Get Latest & Valid 70-762 Exam's Question

More information

SQL Server In-Memory OLTP Internals Overview

SQL Server In-Memory OLTP Internals Overview SQL Server In-Memory OLTP Internals Overview SQL Server Technical Article Writer: Kalen Delaney Technical Reviewers: Kevin Liu, Sunil Agarwal, Jos de Bruijn, Kevin Farlee, Mike Zwilling, Craig Freedman,

More information

SQLSaturday Sioux Falls, SD Hosted by (605) SQL

SQLSaturday Sioux Falls, SD Hosted by (605) SQL SQLSaturday 2017 Sioux Falls, SD Hosted by (605) SQL Please be sure to visit the sponsors during breaks and enter their end-of-day raffles! Remember to complete session surveys! You will be emailed a link

More information

Get the Skinny on Minimally Logged Operations

Get the Skinny on Minimally Logged Operations Get the Skinny on Minimally Logged Operations Andrew J. Kelly akelly@solidq.com Who Am I? Mentor with SolidQ SQL Server MVP since 2001 Contributing editor & author for SQL Server Pro Magazine Over 20 years

More information

Let s Explore SQL Storage Internals. Brian

Let s Explore SQL Storage Internals. Brian Let s Explore SQL Storage Internals Brian Hansen brian@tf3604.com @tf3604 Brian Hansen brian@tf3604.com @tf3604.com children.org 20 Years working with SQL Server Development work since 7.0 Administration

More information

Martin Cairney SPLIT, MERGE & ELIMINATE. SQL Saturday #572 : Oregon : 22 nd October, 2016

Martin Cairney SPLIT, MERGE & ELIMINATE. SQL Saturday #572 : Oregon : 22 nd October, 2016 Martin Cairney SPLIT, MERGE & ELIMINATE AN INTRODUCTION TO PARTITIONING SQL Saturday #572 : Oregon : 22 nd October, 2016 Housekeeping Mobile Phones please set to stun during the session Connect with the

More information

Persistence Is Futile- Implementing Delayed Durability in SQL Server

Persistence Is Futile- Implementing Delayed Durability in SQL Server Mark Broadbent #SqlSat675 Persistence Is Futile- Implementing Delayed Durability in SQL Server Sponsor #SqlSat675 18/11/2017 Organizzatori GetLatestVersion.it #SqlSat675 18/11/2017 Agenda We will also

More information

#ITDEVCONNECTIONS ITDEVCONNECTIONS.COM

#ITDEVCONNECTIONS ITDEVCONNECTIONS.COM I have indexes But do I have the right indexes? Eric Blinn Sr Data Architect Squire Patton Boggs Who is this guy? Sr Data Architect @ Contact info: ericblinn.com Vice President @ linkedin.com/in/ericblinn

More information

The Ambiguous Case of Off-Row Storage in In- Memory OLTP. Dmitri Korotkevitch, aboutsqlserver.com Moderated By: Sander Stad

The Ambiguous Case of Off-Row Storage in In- Memory OLTP. Dmitri Korotkevitch, aboutsqlserver.com Moderated By: Sander Stad The Ambiguous Case of Off-Row Storage in In- Memory OLTP Dmitri Korotkevitch, aboutsqlserver.com Moderated By: Sander Stad Technical Assistance If you require assistance during the session, type your inquiry

More information

About Speaker. Shrwan Krishna Shrestha. /

About Speaker. Shrwan Krishna Shrestha. / PARTITION About Speaker Shrwan Krishna Shrestha shrwan@sqlpassnepal.org / shrwan@gmail.com 98510-50947 Topics to be covered Partition in earlier versions Table Partitioning Overview Benefits of Partitioned

More information

SQL Server In-Memory OLTP Internals Overview for CTP1

SQL Server In-Memory OLTP Internals Overview for CTP1 SQL Server In-Memory OLTP Internals Overview for CTP1 SQL Server Technical Article Writer: Kalen Delaney Technical Reviewers: Kevin Liu, Jos de Bruijn, Kevin Farlee, Mike Zwilling, Sunil Agarwal, Craig

More information

Columnstore Technology Improvements in SQL Server Presented by Niko Neugebauer Moderated by Nagaraj Venkatesan

Columnstore Technology Improvements in SQL Server Presented by Niko Neugebauer Moderated by Nagaraj Venkatesan Columnstore Technology Improvements in SQL Server 2016 Presented by Niko Neugebauer Moderated by Nagaraj Venkatesan Thank You microsoft.com hortonworks.com aws.amazon.com red-gate.com Empower users with

More information

1.2 - The Effect of Indexes on Queries and Insertions

1.2 - The Effect of Indexes on Queries and Insertions Department of Computer Science and Engineering Data Administration in Information Systems Lab 2 In this lab class, we will approach the following topics: 1. Important Concepts 1. Clustered and Non-Clustered

More information

EXAM TS: Microsoft SQL Server 2008, Database Development. Buy Full Product.

EXAM TS: Microsoft SQL Server 2008, Database Development. Buy Full Product. Microsoft EXAM - 70-433 TS: Microsoft SQL Server 2008, Database Development Buy Full Product http://www.examskey.com/70-433.html Examskey Microsoft 70-433 exam demo product is here for you to test the

More information

Microsoft SQL Server Database Administration

Microsoft SQL Server Database Administration Address:- #403, 4 th Floor, Manjeera Square, Beside Prime Hospital, Ameerpet, Hyderabad 500038 Contact: - 040/66777220, 9177166122 Microsoft SQL Server Database Administration Course Overview This is 100%

More information

Sepand Gojgini. ColumnStore Index Primer

Sepand Gojgini. ColumnStore Index Primer Sepand Gojgini ColumnStore Index Primer SQLSaturday Sponsors! Titanium & Global Partner Gold Silver Bronze Without the generosity of these sponsors, this event would not be possible! Please, stop by the

More information

RAID in Practice, Overview of Indexing

RAID in Practice, Overview of Indexing RAID in Practice, Overview of Indexing CS634 Lecture 4, Feb 04 2014 Slides based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke 1 Disks and Files: RAID in practice For a big enterprise

More information

SQL Server 2014 Column Store Indexes. Vivek Sanil Microsoft Sr. Premier Field Engineer

SQL Server 2014 Column Store Indexes. Vivek Sanil Microsoft Sr. Premier Field Engineer SQL Server 2014 Column Store Indexes Vivek Sanil Microsoft Vivek.sanil@microsoft.com Sr. Premier Field Engineer Trends in the Data Warehousing Space Approximate data volume managed by DW Less than 1TB

More information

MTA Database Administrator Fundamentals Course

MTA Database Administrator Fundamentals Course MTA Database Administrator Fundamentals Course Session 1 Section A: Database Tables Tables Representing Data with Tables SQL Server Management Studio Section B: Database Relationships Flat File Databases

More information

Module 4: Creating and Tuning Indexes

Module 4: Creating and Tuning Indexes Module 4: Creating and Tuning Indexes Overview Planning Indexes Creating Indexes Optimizing Indexes 1 Lesson 1: Planning Indexes How SQL Server Accesses Data What Is a Clustered Index? What Is a Heap?

More information

Columnstore Technology Improvements in SQL Server 2016

Columnstore Technology Improvements in SQL Server 2016 Columnstore Technology Improvements in SQL Server 2016 Subtle Subtitle AlwaysOn Niko Neugebauer Our Sponsors Niko Neugebauer Microsoft Data Platform Professional OH22 (http://www.oh22.net) SQL Server MVP

More information

Course Outline. SQL Server Performance & Tuning For Developers. Course Description: Pre-requisites: Course Content: Performance & Tuning.

Course Outline. SQL Server Performance & Tuning For Developers. Course Description: Pre-requisites: Course Content: Performance & Tuning. SQL Server Performance & Tuning For Developers Course Description: The objective of this course is to provide senior database analysts and developers with a good understanding of SQL Server Architecture

More information

Memory Pointer Management

Memory Pointer Management APPENDIX A Memory Pointer Management This chapter explains how SQL Server works with memory pointers that link In-Memory OLTP objects together. Memory Pointer Management The In-Memory OLTP Engine relies

More information

Data Organization and Processing

Data Organization and Processing Data Organization and Processing Data Organization in Microsoft SQL Server 2012 (NDBI007) David Hoksza http://siret.cz/hoksza Outline Database server structure databases database files memory pages Data

More information

Horizontal Table Partitioning

Horizontal Table Partitioning Horizontal Table Partitioning Dealing with a manageable slice of the pie. Richard Banville Fellow, OpenEdge Development August 7, 2013 Agenda OverviewFunctionalityUsageSummary 2 Agenda 1 Overview 2 Feature

More information

Testpassport. Банк экзамен

Testpassport. Банк экзамен Testpassport Банк экзамен самое хорошое качество самая хорошая служба Exam : 70-433 Title : TS: Microsoft SQL Server 2008, Database Development Version : DEMO 1 / 8 1.You have a user named John. He has

More information

Chapter 8: Working With Databases & Tables

Chapter 8: Working With Databases & Tables Chapter 8: Working With Databases & Tables o Working with Databases & Tables DDL Component of SQL Databases CREATE DATABASE class; o Represented as directories in MySQL s data storage area o Can t have

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Partitioning für Einsteiger Hermann Bär Partitioning Produkt Management 2 Disclaimer The goal is to establish a basic understanding of what can be done with Partitioning I want you to start thinking

More information

Reorganize and Rebuild Indexes in the Database

Reorganize and Rebuild Indexes in the Database Reorganize and Rebuild Indexes in the Database This topic describes how to reorganize or rebuild a fragmented index in SQL Server 2017 by using or. The SQL Server Database Engine automatically maintains

More information

CPSC 421 Database Management Systems. Lecture 11: Storage and File Organization

CPSC 421 Database Management Systems. Lecture 11: Storage and File Organization CPSC 421 Database Management Systems Lecture 11: Storage and File Organization * Some material adapted from R. Ramakrishnan, L. Delcambre, and B. Ludaescher Today s Agenda Start on Database Internals:

More information

SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server Upcoming Dates. Course Description.

SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server Upcoming Dates. Course Description. SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server 2016 Learn how to design and Implement advanced SQL Server 2016 databases including working with tables, create optimized

More information

Identifying and Fixing Parameter Sniffing

Identifying and Fixing Parameter Sniffing Identifying and Fixing Parameter Sniffing Brent Ozar www.brentozar.com sp_blitz sp_blitzfirst email newsletter videos SQL Critical Care 2017 Brent Ozar Unlimited. All rights reserved. 1 This is genuinely

More information

Automating Information Lifecycle Management with

Automating Information Lifecycle Management with Automating Information Lifecycle Management with Oracle Database 2c The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

SQL Server 2016 gives 40% improved performance over SQL Server 2014

SQL Server 2016 gives 40% improved performance over SQL Server 2014 Overview World Record Breaking Performance (TPC-H) SQL Server 06 gives 40% improved performance over SQL Server 04 SSAS 06 Query Exec Multi-Dimensional (MOLAP) Tabular (VertiPaq) Query Exec ETL SSAS 06

More information

Designing Database Solutions for Microsoft SQL Server (465)

Designing Database Solutions for Microsoft SQL Server (465) Designing Database Solutions for Microsoft SQL Server (465) Design a database structure Design for business requirements Translate business needs to data structures; de-normalize a database by using SQL

More information

Exam Questions

Exam Questions Exam Questions 70-464 Developing Microsoft SQL Server 2012 Databases https://www.2passeasy.com/dumps/70-464/ 1. You create a view by using the following code: Several months after you create the view,

More information

6232B: Implementing a Microsoft SQL Server 2008 R2 Database

6232B: Implementing a Microsoft SQL Server 2008 R2 Database 6232B: Implementing a Microsoft SQL Server 2008 R2 Database Course Overview This instructor-led course is intended for Microsoft SQL Server database developers who are responsible for implementing a database

More information

QUIZ: Is either set of attributes a superkey? A candidate key? Source:

QUIZ: Is either set of attributes a superkey? A candidate key? Source: QUIZ: Is either set of attributes a superkey? A candidate key? Source: http://courses.cs.washington.edu/courses/cse444/06wi/lectures/lecture09.pdf 10.1 QUIZ: MVD What MVDs can you spot in this table? Source:

More information

Update The Statistics On A Single Table+sql Server 2005

Update The Statistics On A Single Table+sql Server 2005 Update The Statistics On A Single Table+sql Server 2005 There are different ways statistics are created and maintained in SQL Server: to find out all of those statistics created by SQL Server Query Optimizer

More information

Query Optimization, part 2: query plans in practice

Query Optimization, part 2: query plans in practice Query Optimization, part 2: query plans in practice CS634 Lecture 13 Slides by E. O Neil based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Working with the Oracle query optimizer First

More information

to Solving Database Administration Headaches

to Solving Database Administration Headaches The SQL Developer s Guide to Solving Database Administration Headaches Click to edit Master Donabel subtitle Santos style DBA/Developer/Trainer, Black Ninja Software Instructor, BC Institute of Technology

More information

Unit 3 Disk Scheduling, Records, Files, Metadata

Unit 3 Disk Scheduling, Records, Files, Metadata Unit 3 Disk Scheduling, Records, Files, Metadata Based on Ramakrishnan & Gehrke (text) : Sections 9.3-9.3.2 & 9.5-9.7.2 (pages 316-318 and 324-333); Sections 8.2-8.2.2 (pages 274-278); Section 12.1 (pages

More information

Q&As. Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform

Q&As. Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform 70-459 Q&As Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform Pass Microsoft 70-459 Exam with 100% Guarantee Free Download Real Questions & Answers

More information

Oracle Alter Table Add Primary Key Using Index

Oracle Alter Table Add Primary Key Using Index Oracle Alter Table Add Primary Key Using Index Partition open Syntax for Schema Objects and Parts in SQL Statements One or more columns of a table, a partitioned table, an index-organized table, or a cluster

More information

Use Schema_id Sql Server Schema Id Sys Tables

Use Schema_id Sql Server Schema Id Sys Tables Use Schema_id Sql Server Schema Id Sys Tables schema_id) = s. The column principal_id in sys.schemas contains the ID of the schema owner, so to get the name you can Use the column principal_id in sys.tables,

More information

20762B: DEVELOPING SQL DATABASES

20762B: DEVELOPING SQL DATABASES ABOUT THIS COURSE This five day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to

More information

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents Workshop Name Duration Objective Participants Entry Profile Training Methodology Setup Requirements Hardware and Software Requirements Training Lab Requirements Synergetics-Standard-SQL Server 2012-DBA-7

More information

Get Table Schema In Sql Server 2008 To Add Column If Not Exists >>>CLICK HERE<<<

Get Table Schema In Sql Server 2008 To Add Column If Not Exists >>>CLICK HERE<<< Get Table Schema In Sql Server 2008 To Add Column If Not Exists IF NOT EXISTS ( SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'(dbo). Also try catch is easily possible to use in sql serverand

More information

<Insert Picture Here> DBA Best Practices: A Primer on Managing Oracle Databases

<Insert Picture Here> DBA Best Practices: A Primer on Managing Oracle Databases DBA Best Practices: A Primer on Managing Oracle Databases Mughees A. Minhas Sr. Director of Product Management Database and Systems Management The following is intended to outline

More information

Build ETL efficiently (10x) with Minimal Logging

Build ETL efficiently (10x) with Minimal Logging Build ETL efficiently (10x) with Minimal Logging Simon Cho Blog : Simonsql.com Simon@simonsql.com Agenda Want to discuss first Quick review SARG Index access methods Tipping Point Case 1 What s the best

More information

Microsoft. [MS20762]: Developing SQL Databases

Microsoft. [MS20762]: Developing SQL Databases [MS20762]: Developing SQL Databases Length : 5 Days Audience(s) : IT Professionals Level : 300 Technology : Microsoft SQL Server Delivery Method : Instructor-led (Classroom) Course Overview This five-day

More information

Outline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012

Outline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012 Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 6 April 12, 2012 1 Acknowledgements: The slides are provided by Nikolaus Augsten

More information

Pass IBM C Exam

Pass IBM C Exam Pass IBM C2090-612 Exam Number: C2090-612 Passing Score: 800 Time Limit: 120 min File Version: 37.4 http://www.gratisexam.com/ Exam Code: C2090-612 Exam Name: DB2 10 DBA for z/os Certkey QUESTION 1 Workload

More information

ColumnStore Indexes. מה חדש ב- 2014?SQL Server.

ColumnStore Indexes. מה חדש ב- 2014?SQL Server. ColumnStore Indexes מה חדש ב- 2014?SQL Server דודאי מאיר meir@valinor.co.il 3 Column vs. row store Row Store (Heap / B-Tree) Column Store (values compressed) ProductID OrderDate Cost ProductID OrderDate

More information

The limiting factor in most database systems is the ability to read and write data to the IO subsystem.

The limiting factor in most database systems is the ability to read and write data to the IO subsystem. Presentation Summary The limiting factor in most database systems is the ability to read and write data to the IO subsystem. We're still using storage layouts and methodologies in SQL Server that are a

More information

MILOŠ RADIVOJEVIĆ, PRINCIPAL DATABASE CONSULTANT, BWIN GVC, VIENNA, AUSTRIA

MILOŠ RADIVOJEVIĆ, PRINCIPAL DATABASE CONSULTANT, BWIN GVC, VIENNA, AUSTRIA MILOŠ RADIVOJEVIĆ, PRINCIPAL DATABASE CONSULTANT, BWIN GVC, VIENNA, AUSTRIA Performance Tuning with SQL Server 2017 Sponsors About Me Principal Database Consultant, bwin GVC, Vienna, Austria Data Platform

More information

"Charting the Course... MOC C: Developing SQL Databases. Course Summary

Charting the Course... MOC C: Developing SQL Databases. Course Summary Course Summary Description This five-day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL database. The course focuses on teaching individuals how to use

More information

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course:

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: 20762C Developing SQL 2016 Databases Module 1: An Introduction to Database Development Introduction to the

More information

Developing SQL Databases

Developing SQL Databases Course 20762B: Developing SQL Databases Page 1 of 9 Developing SQL Databases Course 20762B: 4 days; Instructor-Led Introduction This four-day instructor-led course provides students with the knowledge

More information

Keys are fields in a table which participate in below activities in RDBMS systems:

Keys are fields in a table which participate in below activities in RDBMS systems: Keys are fields in a table which participate in below activities in RDBMS systems: 1. To create relationships between two tables. 2. To maintain uniqueness in a table. 3. To keep consistent and valid data

More information

T-sql Check If Index Exists Information_schema

T-sql Check If Index Exists Information_schema T-sql Check If Index Exists Information_schema Is there another way to check if table/column exists in SQL Server? indexes won't pick them up, causing it to use the Clustered Index whenever a new column

More information

20464: Developing Microsoft SQL Server 2014 Databases

20464: Developing Microsoft SQL Server 2014 Databases 20464: Developing Microsoft SQL Server 2014 Databases Course Outline Module 1: Introduction to Database Development This module introduces database development and the key tasks that a database developer

More information

Build ETL efficiently (10x) with Minimal Logging

Build ETL efficiently (10x) with Minimal Logging Build ETL efficiently (10x) with Minimal Logging Simon Cho Blog : Simonsql.com Simon@simonsql.com SQL Saturday Chicago 2017 - Sponsors Thank you Our sponsors This Session Designed for 3 hours including

More information

ColdFusion Summit 2016

ColdFusion Summit 2016 ColdFusion Summit 2016 Building Better SQL Server Databases Who is this guy? Eric Cobb - Started in IT in 1999 as a "webmaster - Developer for 14 years - Microsoft Certified Solutions Expert (MCSE) - Data

More information

Sql Server Syllabus. Overview

Sql Server Syllabus. Overview Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers

More information

1Z Upgrade to Oracle Database 12cm Exam Summary Syllabus Questions

1Z Upgrade to Oracle Database 12cm Exam Summary Syllabus Questions 1Z0-060 Upgrade to Oracle Database 12cm Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-060 Exam on Upgrade to Oracle Database 12c... 2 Oracle 1Z0-060 Certification Details:... 2

More information

I Want To Go Faster! A Beginner s Guide to Indexing

I Want To Go Faster! A Beginner s Guide to Indexing I Want To Go Faster! A Beginner s Guide to Indexing Bert Wagner Slides available here! @bertwagner bertwagner.com youtube.com/c/bertwagner bert@bertwagner.com Why Indexes? Biggest bang for the buck Can

More information

SQL Server DBA Course Content

SQL Server DBA Course Content 1 SQL Server DBA Course Content SQL Server Versions and Editions Features of SQL Server Differentiate the SQL Server and Oracle Services of SQL Server Tools of SQL server SQL Server Installation SQL server

More information

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015 MySQL Database Administrator Training Day 1: AGENDA Introduction to MySQL MySQL Overview MySQL Database Server Editions MySQL Products MySQL Services and Support MySQL Resources Example Databases MySQL

More information

Course Contents of ORACLE 9i

Course Contents of ORACLE 9i Overview of Oracle9i Server Architecture Course Contents of ORACLE 9i Responsibilities of a DBA Changing DBA Environments What is an Oracle Server? Oracle Versioning Server Architectural Overview Operating

More information