Olá, Euler

O que eu quis dizer é que para o PostgreSQL sempre que um registro é
atulizado (UPDATE) o mesmo vai aparecer na última linha da tabela e ao fazer
vários SELECTs nesta tabela e nenhuma operação de UPDATE ocorrer a ordem
sempre será mantida. Estou considerando que a tabela não possui nenhum
índice.

E sua opinião é sempre importante :)

2009/8/18 Euler Taveira de Oliveira <[email protected]>

> Fabrízio de Royes Mello escreveu:
> > O Jota matou a tua charada... isso é realmente uma questão da
> > implementação do PostgreSQL,
> >
> Não é questão de implementação. O próprio padrão SQL *não* garante a ordem
> dos
> registros. A teoria relacional diz que tabelas são conjuntos de dados; e,
> em
> um conjunto *não* há garantia de ordem.
>
> > nos na prática o UPDATE não existe no
> > PostgreSQL, o que ele faz é um DELETE e um INSERT... teste para voce
> > ver, delete o registro e o insira novamente com o valor alterado... vai
> > produzir o mesmo efeito...
> >
> Ugh?! É claro que o UPDATE existe. Não confunda os leigos com declarações
> desse tipo. O que acontece é que o MVCC [1] trabalha assim (torna uma tupla
> invisível e cria outra). São tantas as vantagens que a maioria dos SGBDs
> comerciais utilizam esse conceito.
>

> Quanto a produzir o mesmo efeito, não esteja certo disso. Se você tiver
> fillfactor definido na sua tabela ou utilizando uma versão >= 8.3 (HOT), o
> registro que sofreu alteração nem sempre aparecerá na última posição.
>
>
> [1] http://en.wikipedia.org/wiki/Multiversion_concurrency_control
>
>
> --
>  Euler Taveira de Oliveira
>  http://www.timbira.com/
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a