-
Sequencial
– Os dados são lidos e escritos em sequencia (stream). Não é possível ler ou escrever em um ponto arbitrário
– O processo de leitura e gravação é feito de forma contínua, um registro após o outro
– Para gravar um novo registro é necessário percorrer todo o arquivo, passando por todos os registros, até localizar a primeira posição vazia após o último registro
– Implica na capacidade de acessar a N-ésima entrada numa lista de números em tempo gradualmente crescente
– À medida que o arquivo aumenta de tamanho, aumenta também o tempo de acesso ao mesmo
-
Segundo a pagina: https://pt.stackoverflow.com
As desvantagens de i
Piora a performance em escritas de dados no banco de dados
Toda vez que uma informação chave for modificada (inserida, alterada, deletada) obrigará a escrita no índice. E o índice pode ser interpretado como uma tabela adicional escondida no banco de dados. E se a informação modificada está presente em várias chaves (vários índices), todos eles deverão ser alterados (em inclusão e remoção, todos sempre são afetados, ainda que seja possível otimizar para a remoção, sob pena de encarecer o custo de leitura). A alteração do índice implica em acesso de leitura e escrita nele, apesar de ser uma operação eficiente se comparada com o acesso direto à tabela, não deixa de ter um custo adicional.
Aumenta o consumo de espaço para armazenamento do banco de dados (memória e disco)
É claro que esta tabela adicional de chaves de índice vai ocupar um espaço extra também. Costuma ser um espaço menor que a tabela de dados original mas existe um custo extra. Se houver muitos índices é possível que o espaço seja até maior que a tabela original. Com muito índice fica difícil colocar tudo na memória.
Aumenta a necessidade de manutenção interna no banco de dados
Isto é um pouco dependente da implementação mas é comum que páginas de chaves sejam abandonadas conforme elas vão sendo alteradas. Além disto o DBA pode ter mais elementos com que se preocupar.
Pode diminuir a performance de consultas
Não há garantias que todas as consultas serão mais rápidas com o uso de índices. Como há uma operação adicional para acesso ao índice antes do acesso ao dados principal é possível que a soma do tempo gasto nas operações seja maior que o acesso só ao dado principal mesmo que o acesso no principal sem índice seja teoricamente menos eficiente. Isto é mais comum quando o volume de dados é pequeno mas isto também é verdade em casos de consultas complexas ou onde uma grande porção dos dados da tabela serão retornados em qualquer ordem.
É virtualmente impossível criar índices para qualquer chave a não ser em tabelas extremamente simples. Então é ilusão achar que índices resolverão todos os problemas. E mesmo que fosse possível, eles causariam mais mal do que bem. Você só deve criar índices quando eles realmente são necessários e fique provado que eles estão ajudando.
É bom ressaltar que existem diversos tipos de índices. O mais comum é a árvore binária nas suas diversas variações, cada uma com uma situação mais adequada. Mas outros índices podem ser bem úteis também, como o hash onde a chave é determinada por uma fórmula e o acesso é feito direto por um índice posicional (mais comum em memória) ou índices invertidos muito utilizados para indexar textos onde as palavras contidas no texto são usadas como chaves e não dados inteiros como é comum em outros índices.
https://pt.stackoverflow.com/questions/35088/quais-as-vantagens-e-desvantagens-do-uso-de-%C3%ADndices-em-base-de-dados
-
Quando o arquivo de dados que armazena o índice vai aumentando, algumas coisas acontecem que podem reduzir o benefício de se utilizar o índice, devido a uma perda de performance:
1) Teremos mais chaves no índice e, portanto, a busca irá demorar mais para encontrar a chave correta
2) O maior tamanho do arquivo irá representar um maior impacto nas operações de inserção e remoção, já que toda vez que adicionarmos novos registros ou modificarmos aqueles existentes, precisamos reorganizar o índice para conter os novos valores das chaves (os atributos que estão sendo indexados).
-
Gabarito: Certo
Um índice sequencial de acesso consiste em efetuar a leitura dos registros, um após o outro, comparando o ARGUMENTO DE PESQUISA, com o valor do campo CHAVE (primária ou secundária) no registro corrente, até encontrar os registros desejados ou o final do arquivo.
– Para gravar um novo registro é necessário percorrer todo o arquivo, passando por todos os registros, até localizar a primeira posição vazia após o último registro ( pegando o excelente comentário do colega para um melhor entendimento)
Exemplo: índice1, índice 2, índice 3, índice 4, índice 5.
para você acessar o índice 5, tem que passar por todos esses índices, e caso queira adicionar um novo índice, não poderá implementar ele no meio, terá que ser no final.