Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Quando o MySQL atualiza os índices


As atualizações de índices são duplas.

A primeira parte é inserir/atualizar/excluir a entrada no/do índice. O índice é atualizado assim que um registro é alterado e esse processo bloqueia a consulta até a conclusão.

Isso permite uma recuperação mais rápida de registros com base em uma condição a em uma coluna indexada, a finalidade mais bem compreendida de um índice.

A segunda parte é atualizar as estatísticas do índice. Isso permite que o otimizador determine se para uma determinada consulta vale a pena usar o índice. Imagine uma consulta como SELECT * FROM users WHERE disabled = 0 . Suponha que a maioria dos usuários esteja de fato ativa. Se as estatísticas do índice estiverem atualizadas, o otimizador perceberá que a maioria dos registros da tabela será retornada pela consulta, a tabela precisará quase inteiramente ser verificada. Ele provavelmente decidirá não usar o índice e examinará a tabela imediatamente.

Esta atualização não ocorre automaticamente exceto em casos muito específicos situações . Essas estatísticas devem ser atualizadas manualmente regularmente com um ANALYZE TABLE [table_name]