Ultimo registo com o maximo desempenho

8 respostas Resolvido
postgresql
G

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

8 Respostas

D

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

G

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;

J

Qual objetivo de fazer esse max?

G

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.

J

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.

D
Solucao aceita

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!

G

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.

P

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.

Criado 5 de fevereiro de 2017
Ultima resposta 7 de fev. de 2017
Respostas 8
Participantes 4