Índices de Colunas
Todos os tipos de colunas do MariaDB podem ser indexadas. O uso de índices nas colunas relevantes é a melhor forma de melhorar a performance de operações SELECT
.
O número máximo de índices por tabelas e o tamanho máximo de um índice é definido pelo mecanismo de armazenamento. Leia Tipos de Tabela do MariaDB. Todos os mecanismos de armazenamentos suportam um mínimo de 16 chaves por tabela e um índice de tamanho total mínimo de 256 bytes.
Para colunas CHAR
e VARCHAR
você pode indexar um prefixo da coluna. Isto é muito mais rápido e necessita de menos espaço em disco do que indexar a coluna inteira. A sintaxe para utilizar na instrução CREATE TABLE
para indexar um prefixo de uma coluna se parece com o exemplo a seguir:
INDEX nome_indice (nome_campo(tamanho))
O exemplo abaixo cria um índice para os primeiros 10 caracteres da coluna nome
:
mysql> CREATE TABLE teste (
nome CHAR(200) NOT NULL,
INDEX nome_indice (nome(10)));
Para colunas BLOB
e TEXT
, você deve indexar um prefixo da coluna. O índice pode ter até 255 bytes.
No MariaDB Versão 3.23.23 ou posterior, você pode também criar índices FULLTEXT especiais. Eles são utilizados para pesquisas textuais. Somente o tipo de tabela MyISAM
suporta índices FULLTEXT
e apenas para colunas CHAR
, VARCHAR
e TEXT
. Indexação sempre acontece sobre toda a coluna e indexação parcial (prefixo) não é suportada. Veja "Pesquisa Full-text no MySQL" para detalhes.