Índice em uma rápida mudança coluna

0

Pergunta

  1. É a adição de índice em rápida mudança coluna como "lastUpdatedOn" a pena ?
  2. Como calcular a compensação ?
  3. Alguém pode me apontar a documentação oficial sobre quando e como faz o MySQL reindexes na linha inserções e atualizações na coluna indexada.
indexing mysql sql
2021-11-24 06:35:34
1

Melhor resposta

0

Se ter um índice, incluindo uma "rápida mudança de coluna" é uma troca.

Um UPDATE precisa excluir uma entrada em um índice e adicione uma nova entrada em outro lugar no índice.

Por outro lado, o índice poderá aumentar a velocidade, devido ao índice.

Por favor fornecer um exemplo concreto para que possamos discutir as vantagens e as desvantagens mais.

Não-UNIQUE índices (em oposição a FULLTEXT e SPATIAL) são mantidos assim:

Há uma "mudança de buffer" (qv) no buffer_pool que mantém o índice de atualizações que ainda não foram gravados no disco.

Quando um DELETE ocorre, uma entrada é adicionada para a Alteração do Buffer para dizer que a entrada de índice precisa ser removido.

Para UPDATE duas entradas pode ser necessário colocar no CB.

Quando um SELECT usa um índice, verifica tanto a CB e o real, no disco, BTree para o índice. Que Árvore é armazenada em cache (bloco por bloco) no buffer_pool. (Um bloco é de 16 kb e pode conter centenas(s) de entradas.)

O CB é liberado para o disco "no fundo" ou "conforme necessário". Que envolve a obtenção de um índice de bloco (a menos que já está em cache), atualizando algumas entradas (excluir e/ou adicionar), e escrever de volta para o disco. Tanto a leitura e escrita são armazenados em cache no buffer_pool, por isso nem pode ser um físico de I/O.

O MySQL não "reconstruir" um índice regular ("reindexar"), exceto através de certos ALTERs ou OPTIMIZE. Isto é, todas as alterações são feitas na hora. A ação do CB é transparente para o usuário.

2021-11-24 22:29:11

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................