Basi di Dati

Post on 16-Mar-2016

35 views 0 download

description

Basi di Dati. Progettazione Fisica e “Tuning”: Concetti Avanzati. versione 2.0. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina). Progettazione Fisica e Tuning >> Sommario. Concetti Avanzati. Introduzione - PowerPoint PPT Presentation

Transcript of Basi di Dati

G. Mecca – mecca@unibas.it – Università della BasilicataG. Mecca – mecca@unibas.it – Università della Basilicata

Basi di Dati

Progettazione Fisica e “Tuning”:Concetti Avanzati

versione 2.0

Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

2G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Concetti Avanzati Introduzione Ottimizzazione delle Interrogazioni

Un Esempio Messa a Punto (“Tuning”)

Carico ApplicativoStrutture di AccessoModifiche allo Schema LogicoParametri Architetturali

Progettazione Fisica e Tuning >> Sommario

3G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Introduzione Processo di Progettazione della BD

“progettazione logica”: dallo schema concettuale viene derivato: uno schema logico standardgli schemi esterni necessari

“progettazione fisica”: a partire dallo schema logico viene derivato:uno schema fisico (strutture di accesso)uno schema logico ottimizzato

Progettazione Fisica e Tuning >> Concetti Avanzati >> Introduzione

4G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Introduzione Progettazione Logica

l’obiettivo è fare in modo che la base di dati sia normalizzata (priva di anomalie)

algoritmo sistematico Progettazione Fisica

l’obiettivo è fare in modo che la operazioni sulla base di dati siano efficienti

problema poco sistematizzabile

Progettazione Fisica e Tuning >> Concetti Avanzati >> Introduzione

5G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Progettazione Fisica L’obiettivo sono le prestazioni

si interviene su parametri che le influenzano Parametri che influenzano le prestazioni

organizzazione dei file e strutture di accessoschema logicooperazioni (query e transazioni)parametri dell’architettura (buffer, dischi ecc.)

Questi aspetti sono difficili da progettare

Progettazione Fisica e Tuning >> Concetti Avanzati >> Introduzione

6G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Messa a Punto (“Tuning”) Tipicamente

si comincia con lo schema standardle strutture di accesso standardsi accumula informazione sul funzionamento

e si valutano le prestazionisulla base dei dati raccolti si procede alla

messa a punto dei parametriè un’attività condotta periodicamente

Progettazione Fisica e Tuning >> Concetti Avanzati >> Introduzione

7G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Messa a Punto (“Tuning”) In questa lezione

panoramica sulla progettazione fisica e il tuning

discuteremo le principali classi di parametridescriveremo delle linee guidanon c’è la pretesa di essere esaustivi

Punto di partenzavalutazione e ottimizzazione delle

interrogazioni in un DBMS relazionale

Progettazione Fisica e Tuning >> Concetti Avanzati >> Introduzione

8G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Ottimizzazione delle Interrogazioni Processo di valutazione di una query

la query viene inviata al DBMS interattivamente o da un’applicazione

il DBMS effettua l’analisi sintattica del codice SQL

il DBMS effettua le verifiche sulle autorizzazioni di accesso

il DBMS esegue il processo di ottimizzazione della query

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

9G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Ottimizzazione delle Interrogazioni Processo di ottimizzazione

scelta di una strategia efficiente per la valutazione della query

Piano di esecuzione di una queryscelta dell’ordine di applicazione degli

operatori algebrici necessaristrategia di calcolo del risultato di ciascun

operatore algebrico attraverso le strutture di accesso disponibili

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

10G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Ottimizzazione delle Interrogazioni Per effettuare l’ottimizzazione

vengono valutati molti diversi piani di esecuzione alternativi

l’ottimizzatore dispone di statistiche sul contenuto della base di dati (dimensione delle tabelle, dimensione dei record, dimensione degli indici, selettività ecc.)

sulla base delle statistiche viene stimato il costo di ciascun piano di esecuzione (numero di accessi ai blocchi su disco)

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

11G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio Consideriamo la base di dati universitaria

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

CREATE TABLE Studente ( matricola integer PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, ciclo char(20), anno integer, relatore char(4) REFERENCES Docente(codice) );

CREATE TABLE Docente ( codice char(4) PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, qualifica char(15), facolta char(10) );

12G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio Studiamo la seguente interrogazione:

“Nomi e cognomi dei tesisti di Christian Vieri iscritti alla laurea specialistica”

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

SELECT Studente.nome, Studente.cognomeFROM Docente, StudenteWHERE Docente.codice=Studente.relatore AND Studente.ciclo = ‘laurea sp.’ AND Docente.cognome = ‘Vieri’;

13G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio Forma standard

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

SELECT S.nome, S.cognomeFROM Docente AS D, Studente AS SWHERE D.codice=S.relatore AND S.ciclo = ‘laurea sp.’ AND D.cognome = ‘Vieri’; S D

S.nome, S.cognome

D.codice=S.relatore AND S.ciclo=‘laurea sp.’ AND D.cognome=‘Vieri’

X

S.nome, S.cognome D.codice=S.relatore AND S.ciclo=‘laurea sp.’ AND D.cognome=‘Vieri’

(S X D) )

Albero degli operatori della query

14G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio Non è l’unico possibile

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

S D

S.nome, S.cognome

D.codice=S.relatore AND S.ciclo=‘laurea sp.’ AND D.cognome=‘Vieri’

X

Piano A S D

S.ciclo=‘laurea sp.’ AND D.cognome=‘Vieri’

S.nome, S.cognome

D.codice=S.relatore

Piano B

15G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio In generale un ottimizzatore dovrebbe

preferire il piano B al piano Ai prodotti cartesiani sono costosi

In altri casi peròl’albero degli operatori da solo non basta a

stabilire se una strategia è migliore di un’altraè necessario considerare le strutture di

accesso disponibili

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

16G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Altri Piani di Esecuzione

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

S D

S.ciclo= ‘laurea sp.’

S.nome, S.cognome

D.codice=S.relatore

Piano C

D.cognome =‘Vieri’

S

S.ciclo=‘laurea sp.’

S.nome, S.cognome

D

D.codice=S.relatore

Piano D

D.cognome =‘Vieri’

17G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio In generale

il piano C è migliore di A e di Bin alcune condizioni il piano D è migliore di C

Dipende dalla strategia utilizzata per valutare gli operatoriin particolare dall’organizzazione dei filee dalle strutture di accesso (indici)

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

18G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Esecuzione di un Operatore Algebrico Tre tecniche principali Scansione lineare del file

inefficiente, applicabile solo a file piccoli Accesso attraverso indici

assume la presenza di indici (aggiornamenti) Raggruppamento temporaneo

creazione di strutture aggiuntive per raggruppare le ennuple (es: ordinamenti, tabelle di hash in memoria centrale)

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

19G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Esecuzione di una Selezione con Ug. File non ordinato, nessun indice rilevante

scansione lineare del file File ordinato per l’attributo, nessun indice

ricerca binaria nel file (ennuple cons.) Indice B+-tree sull’attributo

ricerca nell’indice Indice di Hash sull’attributo

accesso diretto con la funzione di hashing

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

20G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Esecuzione di un Join Strategia elementare

cicli nidificatiabbastanza inefficiente

Esempio: S JOIN D ON S.codice=D.rel.per ogni ennupla di S

per ogni ennupla di D– se S.codice=D.relatore allora produci una

ennupla del risultato

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

21G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Esecuzione di un Join Cicli nidificati con indice

sfrutto un indice su uno degli attributi di join Esempio: S JOIN D ON S.relatore=D.cod

supponiamo di avere un indice su D.codiceper ogni ennupla di S

per ogni ennupla di D tale che D.cod=S.relatore– produci una ennupla del risultato

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

accesso basato sull’indice

22G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Esecuzione di un Join “Sort-Merge” Join

idea: se entrambe le tabelle sono ordinate sull’attributo di join, il join è lineare

Strategiacreo una copia ordinata delle tabellegenero il risultato per scansione lineareparticolarmente efficiente se una delle

tabelle è già ordinata

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

23G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Esecuzione di un Join Hash Join

idea: hash sull’attributo di join per entrambe le tabelle

Strategiacostruisco in memoria centrale una tabella di

hash per entrambe le tabelle sull’attr. di joinscandisco una tabella e per ciascun valore

uso la funzione di hash per localizzare i bucket di ennuple corrispondenti

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

24G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Piano C Supponiamo che:

non ci siano indici rilevanti

Selezioniscansione lineare

Joinsort-merge

Piano completo

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

S D

S.ciclo= ‘laurea sp.’

S.nome, S.cognome

D.codice=S.relatore

Piano C

D.cognome =‘Vieri’

25G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Piano D Supponiamo che:

indice di hash sul nome docente

indice di hash sul relatore

Selezionehash

Joincicli con indice

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

S

S.ciclo=‘laurea sp.’

S.nome, S.cognome

D

D.codice=S.relatore

Piano D

D.cognome =‘Vieri’

26G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Piano D Completo

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

Calcolata usando l’indicedi hash (non ènecessaria la materializzazione)

Ciclo nidificato con indice(uso l’indice secondariosu S.relatore)

Calcolata al volosul risultato del Join

S

S.ciclo=‘laurea sp.’

S.nome, S.cognome

D

D.codice=S.relatore

Piano D

D.cognome =‘Vieri’

27G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Piano C, Altra Ipotesi Supponiamo che:

indice di hash sul nome docente

indice secondario sul ciclo dello studente

Non molti benefici rispetto a Dil numero di valori di

ciclo è bassobassa selettività

dell’indice

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

S D

S.ciclo= ‘laurea sp.’

S.nome, S.cognome

D.codice=S.relatore

Piano C

D.cognome =‘Vieri’

28G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Ottimizzazione Tutti i DBMS di fascia alta consentono di

consultare i piani di esecuzione scelti Comando EXPLAIN

sintassi tipica: EXPLAIN <select>illustra il piano di esecuzione e fornisce la

stima di costo da parte dell’ottimizzatoreutilizzabile sia con PgSQL che con MySQL

Progettazione Fisica e Tuning >> Concetti Avanzati >> Ottimizzazione

29G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Messa a Punto (“Tuning”) Scenario tipico

dopo una fase iniziale, la base di dati viene sottoposta a valutazione delle prestazioni

le prestazioni sono inadeguateè necessario intervenire per migliorare le

prestazioni mettendo a punto i parametri Punto di partenza

carico applicativo

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

30G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Carico Applicativo (“Workload”) La messa a punto non è possibile per

tutte le possibili interrogazioni Si considerano le operazioni più frequenti

e rilevanti Carico applicativo

lista di interrogazionilista di aggiornamentiprestazioni attese per ciascuna (es: <2s,

oppure numero di transazioni al minuto)

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

31G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Attività del Tuning Scelta delle strutture di accesso

organizzazione dei file, indici, clustering Interventi sulle operazioni

riscritture, livelli di isolamento Interventi sullo schema logico

partizionamenti, aggregazioni, denormalizzazioni Interventi sui parametri architetturali

buffer, dischi, RAM

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

32G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Strutture di Accesso Principale forma di intervento

aggiunta di indici Attenzione

gli indici migliorano le prestazioni ma rallentano gli aggiornamentirichiedono spazio su discoè necessario un compromesso

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

33G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Strutture di Accesso Il caso estremo: base di dati di sola lettura Esempio (Shasha, “Database Tuning”)

il sistema informativo di Ellis Islandarchivio degli immigrati in USA tra l’800 e i

primi del 900 (milioni di ennuple)ricerche per cognome, nome e anno di arrivo

E’ possibile utilizzare molti indicicognome, nome, anno, cognome e anno,

cognome e nome

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

34G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Strutture di Accesso Linea guida n.1

è opportuno introdurre un indice solo se contribuisce a migliorare le prestazioni di più di una interrogazione del carico applicativo

Attenzione: non sempre l’ottim. riesce ad usare un indicees: select * from Impiegato

where stipendioAnnuo/12>3000verificare il piano di esecuzione prima e dopo

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

35G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Strutture di Accesso Linea guida n.2

gli attributi su cui intervenire sono quelli che compaiono in join e selezioni

per condizioni di uguaglianza (es: stipendio=5000) sono da preferirsi indici hash

per condizioni su intervalli (es: stipendio>5000 and stipendio <10000) sono da preferirsi B+-tree

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

36G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Strutture di Accesso Linea guida n.3

è opportuno introdurre un indice solo se il numero di valori dell’attributo è sufficientemente alto

Esempio:select * from impiegati

where stipendio = 10000l’indice su stipendio potrebbe non servire se

sono molti ad avere uno stipendio uguale

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

37G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Strutture di Accesso Linea guida n.4

attenzione ai colli di bottiglia Esempio n.1:

relazione disordinata con inserimenti frequenti

l’ultimo blocco è un collo di bottiglia Esempio n.2:

modifiche allo schema (lock in scrittura sul catalogo)

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

38G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Interventi sulle Operazioni Due forme

riscrittura delle operazioniscelta del livello di isolamento per le trans.

Esempio:select * from Impiegato

where stipendioAnnuo/12>3000select * from Impiegato

where stipendioAnnuo>3000*12

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

39G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Interventi sulle Operazioni Altre forme di riscrittura

limitare l’uso di nidificazione (difficilmente ottimizzabile)

Livello di isolamentoil livello standard è SERIALIZABLEin molti casi READ COMMITTED è adeguatoin generale, è opportuno separare

interrogazioni interattive e aggiornamenti

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

40G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Non è detto che lo schema normalizzato

sia il più efficiente Quattro forme di intervento principali

partizionamenti di tabelleaggregazioni di tabelledenormalizzazione di tabelleaggiunta di informazione ridondante

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

41G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Attenzione

modificare lo schema logico impedisce alle applicazioni di lavorare correttamente

Due possibili soluzionile modifiche allo schema logico vanno

decise molto presto (subito dopo la progettazione logica)

oppure, se è possibile, si crea uno schema esterno uguale al vecchio schema logico

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

42G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Partizionamenti di tabelle

tabelle con molti attributi possono essere spezzate in due

Esempio: la tabella “Studente”chiave primaria (matricola)attributi anagrafici (nome, cognome, codice

fiscale, indirizzo, reddito del padre ecc.)attributi accademici (ciclo, anno di corso,

relatore, tirocinio, tutor ecc.)

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

43G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Posso dividere la tabella in due tabelle

DatiAnagraficiStudente: matricola e tutti gli attributi anagrafici

DatiUniversitariStudente: matricola e tutti gli attributi universitari

Conviene sele operazioni richiedono di accedere

raramente a tutti i datiin questo caso è necessario un join

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

44G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Attenzione

questo è un esempio di ristrutturazione dello schema che deve essere effettuato molto presto

le viste non servonodefinire la vista “Studente” corrispondente al

join delle tabelle partizionate non darebbe nessun beneficio in termini di prestazioni

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

45G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Aggregazioni di tabelle

può essere utile per evitare join Esempio: Studente e Tirocinio

chiave esterna “matricola” di tirociniose l’accesso ai dati del tirocinio è frequente,

conviene riunirli in un’unica tabellasi evitano i joinaumentano i valori nulliposso definire due viste per pres. lo schema

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

46G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Denormalizzazioni di tabelle

la normalizzazione evita le anomalie ma spesso costringe a fare troppi join

Esempio: Docente e NumeriNumeri(numero, docente FK)se devo frequentemente stampare l’elenco di

nomi e numeri posso aggiungendo il nome del docente alla tabella Numeri

aumenta la complessità degli aggiornamenti

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

47G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico In questo caso

si generano (modeste) anomalie di aggiornamento

esempio: ogni volta che cambio il cognome di un docente devo intervenire tanto su Docente che su Numeri

per evitare di creare istanze inconsistenti della base di dati è necessario utilizzare transazioni

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

48G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Modifiche allo Schema Logico Aggiunta di informazione ridondante

in alcuni casi può evitare interrogazioni complesse

Esempio: numero di esami sostenuti derivabile per aggregazione dal join di

studenti ed esamipuò essere memorizzato esplicitamente

come attributo di Studentecostringe ad utilizzare le transazioni

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

49G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Parametri Architetturali Buffer

aumentare il buffer aumenta l’”hit ratio”non è opportuno andare oltre un certo limite

Dischidisporre i file su più dischi aumenta le

prestazionies: disco per il log (il log è un tipico collo di

bottiglia)

Progettazione Fisica e Tuning >> Concetti Avanzati >> Tuning

50G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Concetti Avanzati Introduzione Ottimizzazione delle Interrogazioni

Un Esempio Messa a Punto (“Tuning”)

Carico ApplicativoStrutture di AccessoModifiche allo Schema LogicoParametri Architetturali

Progettazione Fisica e Tuning >> Sommario

51G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati

Termini della Licenza

Termini della Licenza

This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.