Ultimo registo com o maximo desempenho

Preciso de pegar o ultimo ID do meu banco de dados com o máximo de rapidez e desempenho.

Qual Banco e Qual linguagem? Infelizmente ficou vago, nos coloque a situação atual

Postgresql, eu queria pegar o ultimo ID ou registro do meu banco sem ter um delay enorme.

Atualmente utilizo: SELECT MAX (cod_fornecedor) AS max FROM fornecedor;

Qual objetivo de fazer esse max?

De pegar o ultimo código, já que o banco não esta implementado com o autoincremento precisando de fazer isso no próprio sistema.

Ideal seria usar sequence, usar MAX pra isso é furada, mais de um usuário pode pegar o mesmo id, além de exigir mais do banco. Mas se não pode migrar, então veja se falta criar índice para esta coluna.

Acredito que assim seja mais prático, espero que cod_fornecedor seja a chave primária:

SELECT cod_fornecedor FROM fornecedor ORDER BY cod_fornecedor DESC LIMIT 1

faça os teste e nos fale!

Muito obrigado, funcionou corretamente, eu demorei a responder também porque eu estava tentando fazer com Trigger e Procedure, mas vou pelo caminho mais fácil. Muito obrigado pela ajuda.

1 curtida

Mesmo não alterando o campo para autoincremento, podes criar uma sequência que inicie com o valor igual ao atual máximo e usar a partir daí a sequence para obter o nextval.