Em 23/11/12, Marcelo Silva<[email protected]> escreveu: > Sim, o order by me garante a ordem exata que preciso (pelo menos > pressupõe-se, rsrsrs) >
Repare que em minha resposta eu coloquei: ".. o PostgreSQL *só* garante uma ordem dos registros retornados se for especificada a cláusula ORDER BY." ou seja, não existe a garantia de qualquer tipo de ordenação se não for especificada a cláusula ORDER BY. > Quando damos um SELECT * FROM TABELA (sem order by) pressupõem-se que os > registros viram numa ordem natural em que foram inseridos, Seu pressuposto não está baseado em nenhuma especificação do PostgreSQL. > 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. > E o que seria um comando APPEND? Não existe tal comando no PostgreSQL. > 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" > A ordem "natural" creio que seja a ordem em que aparem nos blocos do disco. > 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 ? > O autovacuum cuida disso. > Será que esse procedimento adotado seria pra um caso de um desastre na base > > para a recuperação de dados antigos ? > Não vejo o por quê (exceto se você for tentar algum tipo de gambiarra não recomendável). Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
