PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

PostgreSQL - Fiz atualização na tabela em uma função que criei e agora a ordem das linhas na tabela mudou


Uma tabela não tem uma ordem natural de linhas, alguns sistemas de banco de dados realmente recusarão sua consulta se você não adicionar um ORDER BY cláusula no final do seu SELECT

Por que o pedido mudou?

Porque o mecanismo de banco de dados busca suas linhas na ordem física em que vêm do armazenamento. Alguns mecanismos, como o SQL Server, podem ter um CLUSTERED INDEX o que força uma ordem física, mas ainda nunca é realmente garantido que você obtenha seus resultados nessa ordem precisa.

O índice clusterizado existe principalmente como uma otimização. O PostgreSQL tem um CLUSTER semelhante função para alterar a ordem física, mas é um processo pesado que bloqueia a tabela:http://www.postgresql.org/docs/9.1/static/sql-cluster.html

Como forçar uma ordem alfabética das linhas?

Adicione um ORDER BY cláusula em sua consulta.
SELECT * FROM table ORDER BY column