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.