Compartilhamento de tecnologia

Ajuste de desempenho do MySql 01-[Estrutura e índice de dados]

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

o que é índice

Insira a descrição da imagem aqui

Tipo de índice

在Mysql中索引是在存储引擎层实现的,而不是在服务层实现的

  • De acordo com a estrutura de dados: índice de árvore B, índice Hash, índice de texto completo
  • De acordo com a estrutura de armazenamento: índice clusterizado, índice não clusterizado
  • De acordo com as características do campo: índice de chave primária, índice exclusivo, índice comum, índice de texto completo
  • De acordo com o número de campos: índice singleton, índice conjunto

Estruturas e diferenças comuns de dados de índice

  • Árvore binária, árvore rubro-negra, árvore B, número B
  • Diferença: A altura da árvore afeta o desempenho de obtenção de dados (cada nó da árvore é um disco IO)

Árvore binária

Características:Cada nó possui no máximo dois nós filhos, o menor à esquerda e o maior à direita. . As ramificações são mais óbvias quando os dados são aleatórios.

Defina o id da tabela a seguir como um índice
就是将id列按照二叉树的数据结构存储起来
Insira a descrição da imagem aqui
Se os dados forem inseridos sequencialmente, um de cada vez
A altura da árvore será muito alta (é uma estrutura de lista vinculada). Neste momento, a eficiência da pesquisa do elemento é igual à consulta da lista vinculada O(n) e a eficiência de recuperação de dados será extremamente baixa.
Insira a descrição da imagem aqui

árvore vermelha preta