Supondo que haja um índice idx_int
em uma int_col
coluna, qual é a complexidade algorítmica de uma consulta como essa?
SELECT id FROM table
WHERE table.int_col > 1;
Estou especificamente interessado em saber se a consulta é significativamente mais ineficiente do que se fizer uma cláusula de igualdade (que, se bem entendi, é O(log N)). Tenho certeza de que ambos podem usar uma árvore B, então espero que eles sejam quase os mesmos em termos de complexidade / eficiência.
Muito obrigado!
Não conheço o mecanismo PostgreSQL, porém no mundo real, fazer
WHERE X > y
fará com que o mecanismo procure o ponto no índice da árvore B em que
X = y
, em seguida, verifique o restante dos dados para retornar as linhas relevantes. Com dados suficientes, levará um tempo significativo para retornar.Claramente,
WHERE X = y
retornará mais rapidamente, pois só precisa retornar uma única linha, necessitando apenas da operação de busca inicial.Isso, é claro, assumindo que
X
está indexado.