Sim, o order by me garante a ordem exata que preciso (pelo menos pressupõe-se, rsrsrs)
Quando damos um SELECT * FROM TABELA (sem order by) pressupõem-se que os registros viram numa ordem natural em que foram inseridos, um resultado foram disso seria um tanto quanto estranho. Por exemplo, se dou um INSERT ele coloca o registro imediatamente antes do registro posicionado, se dou um append, ele vai até o ultimo registro e coloco após este. Quanto a saber a ordem em que estão dos registro sem um order by, a minha dúvida é simplesmente pra saber porque o postgres não mantem a ordem "natural" Em uma tabela DBF por exemplo, quando a abrimos ele mostra a ordem natural em que foram inseridos os registros se damos um update ele simplesmente atualiza a linha em questão e mantem a posição natural Pelo que vi, em bases como o Firebird, MySQL ele mantém essa ordem natural, pelo menos visivelmente, internamente não estudei o caso. Já o postgres como dito cancela o registro atual e insere um novo, interessante isso, mas ao mesmo tempo fico me perguntando se isso levaria a um inchaço desnecessário (olha quem está falando, rsrsrs) na base. E não tornaria o update mais lento ? Será que esse procedimento adotado seria pra um caso de um desastre na base para a recuperação de dados antigos ? Marcelo Silva ------------------------------------------------------------- Desenvolvedor: Delphi, PHP, ASP Cel: (11) 95052-1407 Tim Cel: (11) 99693-4251 Vivo msn: [email protected] Empresa: Perfil Medicina e Segurança do Trabalho -----Mensagem Original----- From: Osvaldo Kussama Sent: Friday, November 23, 2012 10:35 AM To: Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral]Postgres muda a posição do registro no update? Em 23/11/12, Marcelo Silva<[email protected]> escreveu: > Pessoal, o postgres muda a posição do registro quando é executado um > update, > é isso mesmo ? > > Por exemplo, tenho as linhas: > > Nome Qtd > Joao 3 > Maria 2 > Jose 1 > > Se eu mudo a quantidade, fica > > Nome Qtd > Maria 2 > Joao 4 > Jose 2 > > Sem o uso de “order by” percebe-se que ele muda a posição > Em um comando SELECT o PostgreSQL só garante uma ordem dos registros retornados se for especificada a cláusula ORDER BY. Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
