1 / 11

Algoritmo di Query Optimization

Algoritmo di Query Optimization. Espressione Algebrica di Query. L’Algebra Relazionale può essere utilizzata come linguaggio per interrogare una base di dati. Infatti consideriamo l’esempio del database degli studenti costituito dalle tre tabelle Studenti, Esami, Corsi. Esempio di Query.

rico
Télécharger la présentation

Algoritmo di Query Optimization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmo diQuery Optimization

  2. Espressione Algebrica di Query • L’Algebra Relazionale può essere utilizzata come linguaggio per interrogare una base di dati. • Infatti consideriamo l’esempio del database degli studenti costituito dalle tre tabelle Studenti, Esami, Corsi.

  3. Esempio di Query • Supponiamo che vogliamo trovare tutti i professori che hanno dato a Mario Rossi piu’ di 27. (1 e’ natural join) • ProfessoreNome=‘Mario Rossi’& Voto>27 (Studenti 1 Esami 1 Corsi)

  4. Query Optimization • La stessa query • PNome=‘Mario Rossi’& Voto>27 (Studenti 1 Esami 1 Corsi) • può essere espressa come • P (Nome=‘Mario Rossi’Studenti 1 ( Voto>27 Esami 1 Corsi)) • Che risulta essere molto più efficiente!

  5. Regole per la query optimization • Anticipare l’applicazione delle proiezioni e delle restrizioni rispetto al prodotto (e quindi alle giunzioni), in modo da ridurre la dimensione delle tabelle a cui applicare il prodotto (e le giunzioni). • Le seguenti regole possono essere utilmente utilizzate per l’ottimizzazione di espressioni:

  6. Regole sulla restrizione • Raggruppamento di restrizioni • C(X) (C(Y)(E))=C(X)&C(Y)(E) • Commutativita’ di  e  • C(X)(Y(E))=Y(C(X)(E)) ,se XY; • Y(C(X)(XY(E)))=Y(C(X)(E))se X  Y.

  7. Restrizione e Prodotto • Anticipazione di  rispetto a . • C(X)(E  F)= C(X)(E)  F, se X attr(E). • C(X)&C(Y)(E  F)= C(X)(E)  C(Y)(F), se X attr(E), Y attr(F). • C(X)&C(Y)&C(Z)(E  F)= C(Z)( C(X)(E)  C(Y)(F)), se X attr(E), Y attr(F), Z attr(E) , Z attr(F)

  8. Regole per la proiezione • Raggruppamento di proiezioni. • X(Y(E))= X(E) , se XY. • Eliminazione di proiezioni superflue. • X(E)=E , se X = attr.(E). • Anticipazione della  rispetto a . • XY(E  F)= X(E)  Y(F) , se Xattr(E), Yattr.(F).

  9. L’ALGORITMO • Si applicano le seguenti tre regole (per anticipare la selezione) finché è possibile • Si anticipa  rispetto a  usando la 2.a. • Si raggruppano le restrizioni usando la 1. • Si anticipa l’esecuzione di  su  usando la 3.

  10. Anticipazione delle proiezioni • Si eliminano le proiezioni superflue usando la 5. • Si raggruppano le proiezioni mediante la regola 4. • Si anticipa l’esecuzione delle proiezioni rispetto al prodotto usando ripetutamente la 2 (quando E è un prodotto, da destra verso sinistra) e la 6.

  11. Esercitazioni?

More Related