Sobes.tech
Junior

Como criar um índice na base de dados?

sobes.tech IA

Resposta da IA

A criação de um índice depende do sistema de gestão de bases de dados (SGBD) específico.

A sintaxe SQL geral para criar um índice é a seguinte:

CREATE INDEX nome_do_índice
ON nome_da_tabela (coluna1, coluna2, ...);
  • CREATE INDEX: Palavras-chave para criar um índice.
  • nome_do_índice: O nome que você dá ao índice. Deve ser único dentro da tabela.
  • nome_da_tabela: O nome da tabela na qual você está criando o índice.
  • coluna1, coluna2, ...: Lista de colunas incluídas no índice. A ordem das colunas é importante para índices compostos.

Exemplos para bancos de dados populares:

SGBD Exemplo
PostgreSQL CREATE INDEX users_email_idx ON users (email);
MySQL CREATE INDEX products_price_category_idx ON products (price, category_id);
SQLite CREATE INDEX orders_date_idx ON orders (order_date);
SQL Server CREATE INDEX payments_user_idx ON payments (user_id);

É possível criar diferentes tipos de índices, por exemplo:

  • Índices cluster: Determinam a ordem física de armazenamento das linhas na tabela (geralmente um por tabela).
  • Índices não cluster: Estrutura de dados separada que armazena referências às linhas da tabela.
  • Índices únicos: Garantem a unicidade dos valores nas colunas indexadas.

Exemplo de criação de um índice único:

CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);

Índices compostos em várias colunas:

CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);

É importante selecionar as colunas para indexar com base nas condições mais frequentes nas cláusulas WHERE, operações JOIN e cláusulas ORDER BY. Criar muitos índices ou índices em colunas inadequadas pode diminuir o desempenho das operações de inserção, atualização e exclusão.