#sqlsatParma #sqlsat462 November 28°, 2015 SQL Server 2016 Query Store: un nuovo modo di ottimizzare le query Saverio Lorenzini PFE Principal Engineer.

Slides:



Advertisements
Presentazioni simili
Primary Italian Saying How You Are.
Advertisements

Stored Procedure Function Trigger
Gestione dell’inventario degli Asset aziendali con Systems Management Server 2003 Fabrizio Grossi.
V.I.D.E.O. Video-CV to Increase and Develop Employment Opportunities
Programmazione Ingegneria TLC
Analisi e Contromisure di tecniche di Sql Injection
1 Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM AVG Implementazione in Analysis Services 1. Si definisce.
BRISCOLA GO ON AVANTI. Storia I giochi di carte hanno le origini più disparate e vengono collocati in differenti epoche, la Briscola risale al La.
Basi di dati attive Paolo Atzeni.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
MySQL Query Performance Optimization
Capitolo 20: Sistemi multimediali
Il componente Query Manager del sistema MOMIS: testing ed analisi delle performance UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA _____________________________________________________.
Struttura di un neurone
B.I. Strategy ETL A SUPPORTO DELLA BUSINESS INTELLIGENCE
Installazione di Drupal: requisiti. (sistemista) Installazione, struttura dei file, nodi speciali.
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
A man has decided to include in his home intelligent systems to monitor the home. He installed two water pulse counters into the central water system.
D2I Modena, 27 Aprile 2001 Progettazione e interrogazione di Data Warehouse (Tema 2) Unità Responsabile: Cosenza Unità Coinvolte: Cosenza - Bologna.
“Alternative methods in animal experimentation: evaluating scientific, ethical and social issues in the 3Rs context” Consiglio Nazionale delle Ricerche,
PINK FLOYD DOGS You gotta be crazy, you gotta have a real need. You gotta sleep on your toes. And when you're on the street. You gotta be able to pick.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Italiana Early Level Greetings.
Ontologia AA F. Orilia. Lez. 16 Discussione dell'approccio controfattualista di lewis condotta da Antonio De Grandis.
Talking about yourself
Love, Love, Love. Love, Love, Love. Love, Love, Love. There's nothing you can do that can't be done. Nothing you can sing that can't be sung. Nothing.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Chapter Eighteen1 CHAPTER 3 Distribution of national income A PowerPoint  Tutorial To Accompany MACROECONOMICS, 7th. ed. N. Gregory Mankiw Tutorial written.
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Un problema multi impianto Un’azienda dispone di due fabbriche A e B. Ciascuna fabbrica produce due prodotti: standard e deluxe Ogni fabbrica, A e B, gestisce.
D2I: Integrazione, warehousing e mining di sorgenti eterogenee di dati Tema2: Progettazione e interrogazione di data warehouse Unità: Bologna, Cosenza.
Accoppiamento scalare
#sqlsatTorino #sqlsat400 May 23, 2015 Entity Framework 7 Back To The Future Nuove piattaforme, nuovi data store Michael about.me/micdenny.
SUMMARY Time domain and frequency domain RIEPILOGO Dominio del tempo e della frequenza RIEPILOGO Dominio del tempo e della frequenza.
Jojo was a man who thought he was a loner But he knew it wouldn't last. Jojo left his home in Tucson, Arizona For some California grass. Get back, get.
Viruses.
Mobilità tra i Paesi del Programma KA103 A.A. 2014/2015 (KA103) Mobility Tool+ e il Rapporto Finale Claudia Peritore Roma luglio 2015.
SUMMARY High efficiency motors RIEPILOGO Motori ad alta efficienza RIEPILOGO Motori ad alta efficienza.
SUMMARY Different classes and distortions RIEPILOGO Le diverse classi e le distorsioni RIEPILOGO Le diverse classi e le distorsioni.
Alessandra De Cugis Progetto Tempi e Orari del Comune di Milano Time in the cities, a holistic approach for urban time issues, the case of Milan Paper.
Filtri del secondo ordine e diagrammi di Bode
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Progetti 2015/2016. Proj1: Traduzione di regole snort in regole iptables Snort: – analizza i pacchetti che transitano in rete, confrontandoli con un database.
FESR Trinacria Grid Virtual Laboratory Rosanna Catania Rita Ricceri INFN Catania 25 Luglio 2006 Grid Monitoring: GridICE – bacct - lsload.
Buon giorno, ragazzi oggi è il quattro aprile duemilasedici.
#sqlsatTorino #sqlsat400 May 23, 2015 Analisi prestazionale (Performance Tuning) in Microsoft SQL Server tramite Dynamic Management Objects Gilberto Zampatti.
Titolo evento Luogo, data Seminario INSPIRE Bologna, luglio 2012 Profili, strumenti ed implementazioni dei metadati Antonio Rotundo Agenzia per l’Italia.
#sqlsatTorino #sqlsat400 May 23, 2015 AzureML - Creating and Using Machine Learning Solutions Davide
#sqlsatPordenone #sqlsat495 February 27, 2016 SQL Server 2016 Query Store: un nuovo modo di monitorare le query Saverio Lorenzini PFE Principal Engineer.
SERVIZI DI INTERNAZIONALIZZAZIONE Stage all’estero – Studio per lavoro internazionale.
Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Sara Carcangiu Anna Mereu An Optimization Tool for Telecommunication.
1. ELASTICITA’ DELLA DOMANDA potere di mercato (FISSARE IL PREZZO) ≠ da potere contrattuale (TAKE OR LEAVE OFFER CAP 3 e 4) e da potere nell’impresa (CAPACITA’
LAZIO PULSE Data Scouting 7 Giugno DATI RICEVUTI ENEA INGV ESA ASI INAF-OAR UNIVERSITA’ TOR VERGATA INFN ROMA1.
STMan Advanced Graphics Controller. What is STMan  STMan is an advanced graphic controller for Etere automation  STMan is able to control multiple graphics.
Do You Want To Pass Actual Exam in 1 st Attempt?.
UNIFIED MODELING LANGAUGE BASICS
WRITING – EXERCISE TYPES
Saverio Lorenzini PFE Principal Engineer Microsoft Italia
POSSIBLE ANSWERS The company is looking for a secretary/A secretarial position is vacant/A position as a secretary is vacant BBJ Co. Ltd advertised for.
Human machine interaction
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Summer Village 2004 Frequently, presenters must deliver material of a technical nature to an audience unfamiliar with the topic or vocabulary. The material.
SWORD (School and WOrk-Related Dual learning)
Wikipedia Wikipedia è un'enciclopedia online, collaborativa e libera. Grazie al contributo di volontari da tutto il mondo, Wikipedia ad ora è disponibile.
Transcript della presentazione:

#sqlsatParma #sqlsat462 November 28°, 2015 SQL Server 2016 Query Store: un nuovo modo di ottimizzare le query Saverio Lorenzini PFE Principal Engineer – Microsoft Italia

#sqlsatParma #sqlsat462 November 28°, 2015 Sponsors

#sqlsatParma #sqlsat462 November 28°, 2015 Organizers getlatestversion.it

#sqlsatParma #sqlsat462 November 28°, 2015 Microsoft Italia is hiring Strong skill on SQL Server (infra & dev) Good English Travel

#sqlsatParma #sqlsat462 November 28°, 2015 Agenda Uno sguardo al passato Limitazioni delle soluzioni in essere sino a SQL 2014 Architettura di SQL Server Query Store DEMO

#sqlsatParma #sqlsat462 November 28°, 2015 Looking back...1/2 Running Queries – Activity monitor – SQL Profiler – Sys.dm_exec_requ ests

#sqlsatParma #sqlsat462 November 28°, 2015 Queries executed in the past – Sys.dm_exec_query_stats – Sys.dm_exec_cached_plans Looking back... 2/2

#sqlsatParma #sqlsat462 November 28°, 2015 Limitazione delle versioni fino al 2008 Quali sono state le prestazioni delle query in una certa finestra di tempo del passato? Quale è stato l’impiego delle risorse in una certa finestra del passato? Performance Data Warehouse / Data Collection

#sqlsatParma #sqlsat462 November 28°, 2015 Limitazione delle versioni fino al 2014 L’execution plan in memoria è sempre l’ultimo compilato Quali sono gli execution plan prodotti per una certa query? Quando è cambiato l’execution plan di una query? Quali sono le prestazioni nel tempo di una certa query? Quali sono le query che ultimamente stanno degradando?

#sqlsatParma #sqlsat462 November 28°, 2015 Query Store benefits E’ a livello di database e salva i dati su disco Storicizza tutti i piani di esecuzione di una query e le relative performance metrics Identifica automaticamente le query che hanno degradato recentemente La storicizzazione è across server restart, upgrades, failover. Permette al DBA di forzare un determinato execution plan nelle successive esecuzioni. Permette di analizzare i pattern di uso delle risorse (CPU,memoria, disco) di uno specifico database

#sqlsatParma #sqlsat462 November 28°, 2015 Come funziona Query Store Optimize Execute Plan Store Query Store Storage Runtime Stats Memory Disk Asyncronous sys.query_store_query_text sys.query_context_settings sys.query_store_runtime_stats_interval sys.database_query_store_options sys.query_store_query Query output Data Flush Interval Statistic Collection Interval Bind Compile

#sqlsatParma #sqlsat462 November 28°, 2015 Query store database level configurations ALTER DATABASE AdventureWorks2012 SET QUERY_STORE ( OPERATION_MODE = READ_WRITE, DATA_FLUSH_INTERVAL_SECONDS = 300, INTERVAL_LENGTH_MINUTES = 1, MAX_STORAGE_SIZE_MB = 250, QUERY_CAPTURE_MODE = AUTO, SIZE_BASED_CLEANUP_MODE = AUTO, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 365), MAX_PLANS_PER_QUERY = 1000 ); Use AdventureWorks2012 select * from sys.database_query_store_options

#sqlsatParma #sqlsat462 November 28°, 2015 Options explained OPERATION_MODE Can be READ_WRITE or READ_ONLY. DATA_FLUSH_INTERVAL_SECONDS Frequency at which data written to disk. To optimize for performance, data collected by the query store is asynchronously written to disk. The frequency at which this asynchronous transfer occurs is defined by DATA_FLUSH_INTERVAL_SECONDS. INTERVAL_LENGTH_MINUTES Time Granularity: Determines the time interval at which runtime execution statistics data is aggregated into the query store. To optimize for space usage, the runtime execution statistics in the Runtime Stats Store are aggregated over a fixed time window. This fixed time window is configured via INTERVAL_LENGTH_MINUTES. MAX_STORAGE_SIZE_MB Maximum size of the query store. If the data in the query store hits the MAX_STORAGE_SIZE_MB limit, the query store automatically changes the state from read-write to read-only and stops collecting new data. QUERY_CAPTURE_MODE Defines which query to be captured. Designates if the Query Store captures all queries, or relevant queries based on execution count and resource consumption, or stops adding new queries and just tracks current queries. SIZE_BASED_CLEANUP_MODE Controls whether the cleanup process will be automatically activated when total amount of data gets close to maximum size. CLEANUP_POLICY Configure the STALE_QUERY_THRESHOLD_DAYS argument to specify the number of days to retain data in the query store. MAX_PLANS_PER_QUERY An integer representing the maximum number of plans maintained for each query

#sqlsatParma #sqlsat462 November 28°, 2015 Il testo di una query è la stringa che inizia col primo carattere della prima keyword e finisce con l’ultimo carattere dell’ultima keyword Spazi e commenti prima o dopo NON sono sono significativi Spazi e commenti dentro sono significativi CASE SENSITIVE Attenzione, la semantica dipende dai context settings!! [DEMO] Concetti introduttivi: Cosa è una query? Concetti introduttivi: Cosa è una query? --Test1 Ciao SELECT s.SalesOrderID, h.TotalDue FROM Sales.SalesOrderDetail s INNER JOIN Sales.SalesOrderHeader h ON s.SalesOrderID = s.SalesOrderID WHERE s.ModifiedDate > ' ' --Test1 Hello SELECT s.SalesOrderID, h.TotalDue FROM Sales.SalesOrderDetail s INNER JOIN Sales.SalesOrderHeader h ON s.SalesOrderID = s.SalesOrderID WHERE s.ModifiedDate > ' ' SELECT S.SalesOrderID, h.TotalDue FROM Sales.SalesOrderDetail s INNER JOIN Sales.SalesOrderHeader h ON s.SalesOrderID = s.SalesOrderID WHERE s.ModifiedDate > ' ' SELECT s.SalesOrderID, h.TotalDue FROM Sales.SalesOrderDetail s INNER JOIN Sales.SalesOrderHeader h ON s.SalesOrderID = s.SalesOrderID WHERE s.ModifiedDate > ' ' = <>

#sqlsatParma #sqlsat462 November 28°, 2015 Query Store DMVs DEMO DMVs Query Store

#sqlsatParma #sqlsat462 November 28°, 2015 Principal DMVs

#sqlsatParma #sqlsat462 November 28°, 2015 Domande Se eseguo una join tra tabelle di db diversi, a chi è intestata? [PROVA] select * from [AdventureWorks2012].[Production].[Product] P inner join [AdventureWorks2014].[Production].[ProductDocument] D on P.ProductID = D.ProductID where ProductNumber = 'CA-7457' Il backup/restore di un database si porta dietro la funzionalità abilitata ed i dati? Quale è l’overhead di Query Store sul motore SQL? Cosa succede se finisce lo spazio per il Query Store? Finisce la storicizzazione dei dati.

#sqlsatParma #sqlsat462 November 28°, 2015 Principal stored procedures sp_query_store_flush_db Scrive i dati aggregati dalla memoria su disco sp_query_store_force_plan Forza un piano di esecuzione nelle prosssime esecuzioni sp_query_store_remove_plan Rimuove un singolo piano da Query Store, e tutte le statistiche storiche di performance associate sp_query_store_remove_query Rimuove una singola query da Query Store, tutti i suoi piani di esecuzione e tutte le statistiche storiche di performance associate. sp_query_store_reset_exec_stats x Rimuove tutte le statistiche storiche del piano x, ma lascia il piano. sp_query_store_unforce_plan Toglie il fatto che il piano sia forced

#sqlsatParma #sqlsat462 November 28°, 2015 Navigazione dei dati di Query Store Regressed queries Quali sono le queries che ultimamente hanno degradato secondo una certa metrica? Resource consumption Quanto è stato il consumo di una certa risorsa in una certa time slice e quali queries sono responsabili? Resource consuming queries Quali sono le query che in un certo periodo hanno consumato più risorse? Tracking queries Come posso seguire nel tempo le prestazioni di una certa query ed esaminare il cambiamento dei suoi piani di esecuzione?

#sqlsatParma #sqlsat462 November 28°, 2015 DEMO 1.Job running queries every 10 secs, see tracking and aggregations 2.Query tracking and change plan

#sqlsatParma #sqlsat462 November 28°, 2015 Resources Monitoring Performance By Using the Query Store Best Practice with the Query Store

#sqlsatParma #sqlsat462 November 28°, 2015 THANKS! #sqlsatParma #sqlsat462