Database indexing é uma técnica utilizada em bancos de dados para melhorar a velocidade e a eficiência das buscas e consultas a registros. Um índice é basicamente uma estrutura que armazena uma lista ordenada das chaves de busca (como valores de colunas) e referências aos registros associados. Isso permite que o sistema de gerenciamento de banco de dados localize de forma rápida os dados desejados, sem ter que escanear toda a tabela.
Por exemplo, se uma tabela de usuários contém milhares de registros e queremos encontrar rapidamente um usuário específico pelo seu nome, um índice pode ser criado sobre a coluna de nomes. Assim, em vez de verificar cada registro um a um, o banco de dados pode acessar diretamente a posição ordenada onde o nome desejado se encontra.
O uso de índices pode melhorar significativamente o desempenho das consultas, mas também aumenta o custo de operações de escrita, como inserções, atualizações e exclusões, pois os índices precisam ser atualizados cada vez que os dados são modificados. Além disso, índices ocupam espaço adicional no armazenamento do banco de dados.