EXERCÍCIOS Cálculo de Custos de Planos de Execução Cálculo de Custos de Planos de Execução Exercício1 : Calcule o custo deste plano Π sname On-the-fly R : 1000 páginas σ bid=100 and rating > 5 S : 500 páginas R: 100 tuplas por página S: 80 tuplas por página Reservas (scan) Tabela externa sid=sid On-the-fly Simple Nested Loops página a página Sailors (scan) Tabela interna “Empurrando” seleções para baixo na árvore de execução Exercicio 2: Calcule o custo deste plano Π sname On-the-fly Número de valores para bid = 100 Rating varia de 1 a 10 Uniformemente distribuidos sid=sid Sorte-Merge Join Numero de páginas no buffer = 5 Scan, write to Temp1 σ bid=100 Reservas (scan) Tabela externa σ rating > 5 Scan, write to Temp2 Sailors (scan) Tabela interna “Empurrando” seleções para baixo na árvore de execução Exercicio 3 : Calcule o custo deste plano Π sname On-the-fly Número de valores para bid = 100 Rating varia de 1 a 10 Uniformemente distribuidos sid=sid Block Nested Looping Join Numero de páginas no buffer = 5 Scan, write to Temp1 σ bid=100 Reservas (scan) Tabela externa σ rating > 5 Scan, write to Temp2 Sailors (scan) Tabela interna “Empurrando” projeções para baixo na árvore de execução Exercicio 4 : Calcule o custo deste plano Π sname On-the-fly Número de valores para bid = 100 Rating varia de 1 a 10 Uniformemente distribuídos Número de páginas no buffer = 5 On-the-fly Scan, write to Temp1 sid=sid Block Nested Looping Join Π sid Π sid,sname σ bid=100 σ rating > 5 Reservas (scan) Tabela externa On-the-fly Scan, write to Temp2 Sailors (scan) Tabela interna Nem sempre “empurrar seleções abaixo do join é vantajoso” Exercício 5 : Calcule o custo deste plano Π sname On-the-fly Número de valores para bid = 100 Rating varia de 1 a 10 Uniformemente distribuídos Número de páginas no buffer = 5 σ rating > 5 sid=sid On-the-fly σbid=100 (tem índice hash em bid, Reservas agrupado e estático) Tabela externa On-the-fly Index Nested Loops com pipeline Sailors (tem índice hash em sid, não necessariamente agrupado) Tabela interna Nem sempre execuções em pipeline são mais vantajosas que as materializadas Exercício 6 : Calcule o custo deste plano •Número de valores para bid = 100 •Rating varia de 1 a 10 uniformemente distribuídos • Número de páginas no buffer = 5 • Todos os marinheiros fizeram reservas de barcos. • Reservas distribuidas uniformemente entre os marinheiros. • Todos os barcos foram reservados um mesmo número de vezes Scan, write to Temp ordena por sid Π sname On-the-fly σ rating > 5 sid=sid σbid=100 (tem índice hash em bid, Reservas agrupado e estático) Tabela externa On-the-fly Index Nested Loops Sailors (tem índice hash em sid) Tabela interna Seleção por atributo chave “empurrada” abaixo do Join é muito vantajosa. Exercício 7 : Calcule o custo deste plano •Número de valores para bid = 100 •Rating varia de 1 a 10 uniformemente distribuídos • Número de páginas no buffer = 5 • Todos os marinheiros fizeram reservas de barcos. • Reservas distribuidas uniformemente entre os marinheiros. • (bid,day) é chave de Reservas On-the-fly On-the-fly (tem índice hash em bid, agrupado e estático) Π sname On-the-fly σ rating > 5 sid=sid On-the-fly Index Nested Loops com pipeline σday = 09/09/82 σ bid=100 Sailors (tem índice hash em sid) Tabela interna Reservas Tabela externa Compare com o custo do plano do exercicio 1.