Geralmente uso uma chave composta (CreatedTime, Status)
para minha Log
tabela, mas estou reconsiderando esse design. Como CreatedTime
é tipicamente muito única e Status
tem apenas 3-5 valores possíveis, parece que isso Status
pode não adicionar muito à filtragem posterior CreatedTime
.
A maioria das minhas consultas envolve recuperar logs para um intervalo de tempo específico, opcionalmente filtrando ou contando por Status
. Conceitualmente, se eu estivesse trabalhando com um livro de registro físico classificado por tempo, identificar entradas com um específico Status
(por exemplo, "Bem-sucedido") seria trabalhoso. Por outro lado, ter livros de registro separados para cada Status
, todos classificados por tempo, poderia tornar a pesquisa mais eficiente — embora combinar e reclassificar resultados para todos Status
os valores possa complicar as coisas. O banco de dados otimiza para tais cenários?
Já perguntei a três IAs diferentes sobre isso, mas suas respostas foram vagas e contraditórias (e até mesmo a mesma IA dá respostas diferentes apenas perguntando de forma ligeiramente diferente), e não consigo encontrar muita coisa no Google e no SO. Alguém pode confirmar se minha intuição aqui está correta?