Query mais rápida que o MAX

5 respostas
Michel_Sancovich

Boa tarde, tenho que pegar o último id inserido no banco e descobri que o MAX é mais rápido que o DESC, alguém conhece uma outra maneira, mais rápida, para isto!? Desde já mto obrigado!

  1. DESC LIMIT 1
    ex:
    SELECT campo FROM tabela DESC LIMIT 1

  2. MAX
    ex:
    Select MAX(id) from SuaTabela

5 Respostas

ramilani12

qual o tempo de diferença entre as duas consultas?

peczenyj

É provavel que tenha outras formas não canônicas como olhar para as meta tabelas do oracle ou coisas do tipo :twisted:

Pedrosa

Use select nextval de uma sequence, select max cheira a gambiarra, qual o proposito de pegar esse ultimo id?

C

SELECT campo, max(id) FROM tabela GROUP BY campo.

Só teráo retorno que você quer. E não faz a subconsulta que você estava fazendo…
Não serve não?

Michel_Sancovich

to testando na mão o:

SELECT id_tab FROM Tab ORDER BY id_tab DESC LIMIT 1

e o MAX. Vou averiguar o tempo certinho e posto os resultados. Lembrando que se alguem conhece outro jeito mais rápido e quiser contribuir, o forum agradece :smiley:

Criado 2 de fevereiro de 2009
Ultima resposta 2 de fev. de 2009
Respostas 5
Participantes 5