ID do usuário | Primeiro | Meio | Durar | Tipo | Criado em |
---|---|---|---|---|---|
123 | John | Henrique | Corça | Mago | 28/03/2025 |
Digamos que eu tenha a seguinte tabela acima. Gostaria de criar um índice para ajudar a acelerar minhas consultas.
Todas as consultas devem ser do tipo:
Select *
from users
where Type = 'SomeType'
and First = 'SomeName1'
Order by CreatedAt DESC;
Select *
from users
where Type = 'SomeType'
and Middle = 'SomeName2'
Order by CreatedAt DESC;
Select *
from users
where Type = 'SomeType'
and Last = 'SomeName3'
Order by CreatedAt DESC;
Como eu indexaria as colunas para tornar as consultas eficientes? Seria CreatedAt
a primeira da coluna indexada?
Estou pensando
CREATE INDEX idx_users on users(CreatedAt, Type, First, Middle, Last)
CreatedAt
e type
sempre seria usado, enquanto primeiro, meio e último variam.