← Questões de Banco de Dados

Banco de Dados · FGV · 2022

Questão comentada de Banco de Dados

No contexto do MySQL, analise as afirmativas a seguir a respeito da carga de dados (Bulk Data Loading) para tabelas InnoDB. I. No caso da existência de restrições (constraints) do tipo UNIQUE, é possível suspender temporariamente a verificação com o comando SET unique_checks=1. II. Tabelas InnoDB utilizam índices clusterizados, o que normalmente torna mais rápida a carga de dados dispostos na mesma ordem da chave primária (primary key). III. Na carga de arquivos muito grandes, a shell do MySQL oferece serviços de importação rápida por meio do utilitário util.importTable(). Está correto somente o que se afirma em:3

Gabarito: E

No MySQL com InnoDB, a carga em massa pode ficar bem mais rápida quando voce ajuda o banco a evitar trabalho desnecessario. Um exemplo classico é quando os dados ja chegam ordenados pela primary key: como o InnoDB usa indice clusterizado, inserir nessa ordem costuma reduzir reorganizacoes internas e melhora o desempenho da importacao. Outro truque conhecido na carga de grandes volumes e suspender temporariamente algumas verificacoes, como as de UNIQUE. Aqui mora a pegadinha: o comando correto para desativar essa checagem e SET unique_checks=0, e nao 1. Com isso, o banco deixa de validar a unicidade a cada insercao e a operacao tende a ganhar velocidade. A afirmativa sobre o MySQL Shell tambem esta correta. O utilitario util.importTable() existe justamente para facilitar importacao rapida de grandes arquivos para tabelas, sendo uma ferramenta voltada para bulk loading. Em outras palavras: a banca misturou uma dica verdadeira, uma inversao de valor no comando e uma funcao real da shell. Por isso, o gabarito e E: somente as afirmativas II e III estao corretas. Esse tipo de questao cobra conhecimento pratico de MySQL/InnoDB, muito em linha com a documentacao oficial do MySQL sobre bulk loading, unique_checks e o MySQL Shell.

Continue treinando

Questões relacionadas