No MySQL é possível que os dados de uma tabela InnoDB sejam armazenados na própria estrutura de um índice. Assinale a opção que indica a maneira como isso é feito.
- A)Automaticamente, pelo MySQL na criação da tabela.
Certa: no InnoDB, o armazenamento clusterizado ocorre automaticamente na criação da tabela, com base na chave primária ou em uma chave interna, se necessário.
- B)Pelo comando alter table make clustered index.
Errada: não existe esse comando em MySQL para criar clustered index por ALTER TABLE.
- C)Pelo tipo da tabela na sua criação, que deve ser declarada como Index-Organized InnoDB.
Errada: 'Index-Organized InnoDB' não é a nomenclatura usada pelo MySQL; isso lembra outros SGBDs, não o InnoDB.
- D)Pelo tipo da tabela na sua criação, que deve ser declarada como InnoDB Clustered.
Errada: 'InnoDB Clustered' não é um tipo válido de tabela no MySQL.
- E)Pelo uso do termo Clustered na criação de um dos índices.
Errada: não basta escrever 'Clustered' em um índice para ativar esse comportamento, porque no InnoDB isso não é configurado por termo na definição do índice.
Gabarito: A
No MySQL com InnoDB, a tabela não fica “solta” em um arquivo separado como acontece em outros modelos: os dados são armazenados no índice clusterizado, isto é, na própria estrutura da árvore B+ do índice primário. Em termos práticos, o InnoDB organiza os registros fisicamente pela chave primária, e as folhas do índice primário passam a conter as linhas da tabela. Se não houver chave primária, o mecanismo escolhe uma chave única não nula; se nem isso existir, ele cria uma chave interna oculta. Esse comportamento é automático, não depende de um comando especial do usuário. Por isso o gabarito é a letra A: ao criar a tabela InnoDB, o MySQL já faz o armazenamento clusterizado conforme suas regras internas.