SóProvas


ID
1309873
Banca
CESPE / CEBRASPE
Órgão
ANTAQ
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de sistemas de gerenciamento de banco de dados relacional (SGBDR), julgue o item a seguir.


A criação de índices, mesmo em tabelas grandes e com atributos pouco esparsos, aumenta as chances de serem obtidas consultas com respostas rápidas.

Alternativas
Comentários
  • credito o erro a afirmação atributos pouco esparsos. Pois, neste casa não haveria necessidade de criação de índices. 

  • Questão sem lógica alguma...

    Se é pouco esparso, quer dizer que não cabe criação de índice para otimização da consulta? Quer dizer que não aumenta em nada a chance de serem obtidas consultas com respostas rápidas? Quero saber o livro que está isso aí. É cada uma viu.

  • A criação de índices, mesmo em tabelas grandes e com atributos pouco esparsos (não denso), DIMINUI as chances de serem obtidas consultas com respostas rápidas.

    • Um Índice Denso possui uma entrada no índice para cada registro no arquivo de dados.  – Os registros podem estar armazenados em qualquer ordem no arquivo.  • Um Índice Não Denso (índice esparso) consiste num índice para blocos ou páginas do arquivo, cada um dos quais contendo um grupo de registros. – Os registros precisam estar organizados segundo o atributo indexador. – São exemplos de índice esparso os índices primarios e cluster, que no caso pressupõem que o arquivo esteja fisicamente ordenado segundo a chave de indexação. 
  • Não se deve confundir atributos pouco esparsos com índices esparsos! Quando ele diz atributos pouco esparsos significa que há pouca variabilidade no domínio do atributo. Um exemplo de um atributo pouco esparso é uma coluna chamada número de dependentes em uma tabela "pessoa". Ora, esse atributo será, na maioria das vezes, um número entre 0 e 2. Pois bem, esses números ficarão espalhados pelos vários blocos pertencentes a tabela e um índice, secundário, para esse caso não terá muita utilidade, pois terá de trazer quase todos os blocos para memória primária.  

  • Eu acho que índices sempre aumentam a chance de a busca ficar mais rápida, mas rápidas em relação a quê?  A questão só fala rápida, isso é muito subjetivo.

    Comparando com e sem índices, mesmo em índices secundários, a busca ficará máis rápida que um Full Table Scan na tabela.

    https://social.msdn.microsoft.com/Forums/pt-BR/62505203-1c5d-492e-8d7d-3b56f50c0405/full-table-scan

  • Para quem não entende os comentários sem o gabarito e não tem acesso a resposta.

    Gaba: ERRADO

  • Analisando diversos sites de desenvolvimento de Banco de Dados consegui tirar algumas conclusões:

    1- Deve ser feito APENAS nas colunas mais acessadas ou requisitadas, sendo chave primária ou não.

    2- Pode haver perde de performance em colunas com muita utilização de INSERT, UPDATE e DELETE.

    3- Deve ser utilizado com maior frequência em colunas com maior utilização de cláusulas WHERE, JOIN, ORDER BY e TOP.

     

    Ou seja, nem sempre a utilização de índices é positiva e ela sempre deve ser analisada e aplicada com cuidado para não piorar a performance.

  • A criação de muitos índices torna a resposta mais lenta

  • A questão requer um raciocínio um pouco mais elaborado a respeito de índices. O índice utiliza os diferentes valores dos atributos para criar uma espécie de atalho para a localização de cada registro no disco. Se você tem um atributo pouco esparso, isso quer dizer que esse atributo tem poucos valores diferentes. Assim, quando criamos um índice nesse atributo, a tendência é que ele não represente um ganho significativo de performance das consultas.

    Por exemplo, imagine criar um índice no campo “Sexo” de uma tabela muito grande que contém informações a respeito de pessoas nascidas no Brasil, que tem mais de 200 milhões de registros. O atributo em questão só tem as opções “Masculino” ou “Feminino”. Para uma tabela com tantos registros, faz pouquíssima diferença organizá-los por sexo, já que cada uma das duas partições vai continuar tendo um volume muito grande de tuplas, cerca de 100 milhões pra cada uma.

    Ou seja, utilizar um índice sobre o campo sexo não vai facilitar muito nossa vida na hora de encontrar uma tupla específica, pois mesmo classificando todos os registros por esse atributo, continuamos trabalhando sobre conjuntos enormes de registros. Assim, a resposta é item incorreto!

  • Entendi foi nada

  • Arthur Mendonça | Direção Concursos

    A questão requer um raciocínio um pouco mais elaborado a respeito de índices. O índice utiliza os diferentes valores dos atributos para criar uma espécie de atalho para a localização de cada registro no disco. Se você tem um atributo pouco esparso, isso quer dizer que esse atributo tem poucos valores diferentes. Assim, quando criamos um índice nesse atributo, a tendência é que ele não represente um ganho significativo de performance das consultas.

    Por exemplo, imagine criar um índice no campo “Sexo” de uma tabela muito grande que contém informações a respeito de pessoas nascidas no Brasil, que tem mais de 200 milhões de registros. O atributo em questão só tem as opções “Masculino” ou “Feminino”. Para uma tabela com tantos registros, faz pouquíssima diferença organizá-los por sexo, já que cada uma das duas partições vai continuar tendo um volume muito grande de tuplas, cerca de 100 milhões pra cada uma.

    Ou seja, utilizar um índice sobre o campo sexo não vai facilitar muito nossa vida na hora de encontrar uma tupla específica, pois mesmo classificando todos os registros por esse atributo, continuamos trabalhando sobre conjuntos enormes de registros.

  • A criação de índices, mesmo em tabelas grandes e com atributos pouco esparsos, aumenta as chances de serem obtidas consultas com respostas rápidas.

    Independentemente do quão pouco esparso sejam os atributos, a criação de índices aumentaria sim as chances, ainda que não satisfatoriamente. Ainda que aumentasse em fração insignificante. Não precisa brigar com a questão, mas não se pode perder a lógica.

  • Acerca de sistemas de gerenciamento de banco de dados relacional (SGBDR), julgue o item a seguir.

    A criação de índices, mesmo em tabelas grandes e com atributos pouco esparsos, aumenta as chances de serem obtidas consultas com respostas rápidas.

    tentativa de pegadinha mal redigida, pois pouco esparsa, não define a quantidade de espaces, logo....

  • Arthur Mendonça | Direção Concursos

    A questão requer um raciocínio um pouco mais elaborado a respeito de índices. O índice utiliza os diferentes valores dos atributos para criar uma espécie de atalho para a localização de cada registro no disco. Se você tem um atributo pouco esparso, isso quer dizer que esse atributo tem poucos valores diferentes. Assim, quando criamos um índice nesse atributo, a tendência é que ele não represente um ganho significativo de performance das consultas.

    Por exemplo, imagine criar um índice no campo “Sexo” de uma tabela muito grande que contém informações a respeito de pessoas nascidas no Brasil, que tem mais de 200 milhões de registros. O atributo em questão só tem as opções “Masculino” ou “Feminino”. Para uma tabela com tantos registros, faz pouquíssima diferença organizá-los por sexo, já que cada uma das duas partições vai continuar tendo um volume muito grande de tuplas, cerca de 100 milhões pra cada uma.

    Ou seja, utilizar um índice sobre o campo sexo não vai facilitar muito nossa vida na hora de encontrar uma tupla específica, pois mesmo classificando todos os registros por esse atributo, continuamos trabalhando sobre conjuntos enormes de registros. Assim, a resposta é item incorreto!