A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos para Seleção com Condições Gerais AULA 17 Profa. Sandra de Amo GBC053 – BCC 2012-2.

Apresentações semelhantes


Apresentação em tema: "Algoritmos para Seleção com Condições Gerais AULA 17 Profa. Sandra de Amo GBC053 – BCC 2012-2."— Transcrição da apresentação:

1 Algoritmos para Seleção com Condições Gerais AULA 17 Profa. Sandra de Amo GBC053 – BCC

2 Condições Gerais de Seleção SELECT * FROM R WHERE (R.A op a OR R.A op a1) AND (R.B op b OR R.B op b1) op: =,,, Tamanho de R = M páginas Número de tuplas por página = Pr

3 Condição de seleção em FNC (A 11 op a 11 OR... OR A n1 op a n1 ) AND (A 12 op a 12 OR... OR A n2 op a n2 ) AND.... AND (A 1k op a 1k OR... OR A nk op a nk ) Exemplo: (day < 8/9/2002 OR R.name = Joe ) AND (R.id = 5 OR R.name = Joe )

4 Caso 1: sem OR Solução 1 : um só índice Criar índice para atributo que aparece na condição de seleção, com maior seletividade utilizar este índice para obter os registros satisfazendo a condição da chave do índice A medida que se recupera as tuplas satisfazendo esta condição elimina-se as tuplas que não satisfazem alguma das outras condições.

5 Caso 1: sem OR Solução 2: diversos índices Utiliza-se diversos indices, sobre alguns atributos aparecendo na condição de seleção. Para cada condição A i = a i recupera-se as páginas do arquivo de indice satisfazendo esta condição. Ordena-se as entradas de cada índice pelo page-id Faz-se a intersecção das entradas com os mesmos page- ids Recupera-se as tuplas contidas nas páginas indicadas pelos page-ids e elimina-se aquelas que não satisfazem as outras condições da seleção (para as quais não foram considerados indices).

6 Registros do Indice 1 satisfazendo a condição de seleção : Chave > 1, ordenados pelo page_id 2, (1,3) 7, (1,7) 3, (1,15) 6, (2,10) 4, (7,10) 15, (8,3) 18, (8,7) 10, (9,15) 17, (9,11) 5, (17,10) 4, (1,3) 4, (1,7) 7, (4,15) 6, (5,10) 8, (7,10) 7, (8,3) 12, (11,7) 5, (15,15) 10, (16,11) 9, (17,9) Páginas de dados apontadas: 1, 2, 7, 8, 9, 17 Registros do Indice 2 satisfazendo a condição de seleção : Chave 4, ordenados pelo page_id Páginas de dados apontadas: 1, 4, 5, 7, 8, 11,15,16,17 Páginas que podem conter registros de dados satisfazendo às duas condições simultaneamente: 1, 7, 8, 17 Só estas páginas de dados serão carregadas no buffer !!

7 Exemplo Condição: day 35 Usando B+tree em day recupera-se o conjunto das entradas E1 com day < 8/9/2002 Usando um indice Hash em R.id recupera-se o conjunto de entradas E2 com R.id = 5 Ordena-se cada conjunto de entradas pelo page-ids Considera-se a intersecção das entradas pelos rids ε E1 e ε E2 então e entram na intersecção Recupera-se as tuplas do banco de dadas, através das entradas contidas na intersecção.

8 Caso 2 : com OR A = a1 OR B = b1 Indice em A, não há indice em B Melhor solução : scan (o indice em A não ajuda nada) (A = a1 OR B = b1) AND C = c1 Indice em A, não há indice em B, indice em C Melhor solução: utilizar o indice em C A = a1 OR B = b1 Indice em A, indice em B Melhor solução: recupera-se as entradas no arquivo de indice para A = a1 : recupera-se as entradas no arquivo de indice para B = b1 : Faz-se a união destes dois conjuntos de entradas Ordena-se este conjunto pelo page-id

9 Registros do Indice 1 satisfazendo a condição de seleção : Chave > 1, ordenados pelo page_id 2, (1,3) 7, (1,7) 3, (1,15) 6, (2,10) 4, (7,10) 15, (8,3) 18, (8,7) 10, (9,15) 17, (9,11) 5, (17,10) 4, (1,3) 4, (1,7) 7, (4,15) 6, (5,10) 8, (7,10) 7, (8,3) 12, (11,7) 5, (15,15) 10, (16,11) 9, (17,9) Páginas de dados apontadas: 1, 2, 7, 8, 9, 17 Registros do Indice 2 satisfazendo a condição de seleção : Chave 4, ordenados pelo page_id Páginas de dados apontadas: 1, 4, 5, 7, 8, 11,15,16,17 Páginas que podem conter registros de dados satisfazendo uma das duas condições: 1,2,4,5,7,8,9,11,15,16,17 Só estas páginas de dados serão carregadas no buffer !!


Carregar ppt "Algoritmos para Seleção com Condições Gerais AULA 17 Profa. Sandra de Amo GBC053 – BCC 2012-2."

Apresentações semelhantes


Anúncios Google