Ah sim, vc está falando em ordenar os registros fisicamente? []'s - Walter
On 10/30/06, Sebastian Selau Webber Colombo <[EMAIL PROTECTED]> wrote: > então, o postgres se vira pra trazer o resultado da consulta utilizando o > mesmo índice. > caso em alguma ocasião, a tabela precisar ser ordenada em uma determinada > ordem descendente, então, o postgres encarregará de ordenar a tabela se for > o caso? > > > On 10/30/06, Walter Cruz <[EMAIL PROTECTED]> wrote: > > > > É isso aí Sebastian.... > > > > vc não se precisa se preocupar com a ordem. > > > > Exemplo: > > > > SELECT * FROM tab_pessoas where pes_email like 'p%' ORDER by pes_email > asc > > > > Sort (cost=1167.85..1181.08 rows=5289 width=304) (actual > > time=120.521..127.710 rows=5035 loops=1) > > Sort Key: pes_email > > -> Seq Scan on tab_pessoas (cost=0.00..840.76 rows=5289 width=304) > > (actual time= 0.009..27.802 rows=5035 loops=1) > > Filter: ((pes_email)::text ~~ 'p%'::text) > > Total runtime: 135.788 ms > > > > > > CREATE INDEX ix_email ON tab_pessoas(pes_email varchar_pattern_ops) > > > > SELECT * FROM tab_pessoas where pes_email like 'p%' ORDER by pes_email > asc > > > > Sort (cost=1116.51..1129.73 rows=5289 width=304) (actual > > time=126.185..133.551 rows=5035 loops=1) > > Sort Key: pes_email > > -> Bitmap Heap Scan on tab_pessoas (cost=63.27..789.42 rows=5289 > > width=304) (actual time= 6.005..26.411 rows=5035 loops=1) > > Filter: ((pes_email)::text ~~ 'p%'::text) > > -> Bitmap Index Scan on ix_email (cost=0.00..63.27 rows=5212 > > width=0) (actual time=5.740..5.740 rows=5035 loops=1) > > Index Cond: (((pes_email)::text ~>=~ 'p'::character > > varying) AND ((pes_email)::text ~<~ 'q'::character varying)) > > Total runtime: 141.872 ms > > > > > > > > > > SELECT * FROM tab_pessoas where pes_email like 'p%' ORDER by pes_email > desc > > > > > > Sort (cost=1116.51..1129.73 rows=5289 width=304) (actual > > time=110.396..117.730 rows=5035 loops=1) > > Sort Key: pes_email > > -> Bitmap Heap Scan on tab_pessoas (cost=63.27..789.42 rows=5289 > > width=304) (actual time= 3.919..20.294 rows=5035 loops=1) > > Filter: ((pes_email)::text ~~ 'p%'::text) > > -> Bitmap Index Scan on ix_email (cost=0.00..63.27 rows=5212 > > width=0) (actual time=3.560..3.560 rows=5035 loops=1) > > Index Cond: (((pes_email)::text ~>=~ 'p'::character > > varying) AND ((pes_email)::text ~<~ 'q'::character varying)) > > Total runtime: 125.888 ms > > > > > > Pode reparar que com um único índice, tanto a ordenação desc como asc > > o utilizaram. > > > > []'s > > - Walter > > _______________________________________________ > > Grupo de Usuários do PostgreSQL no Brasil > > Antes de perguntar consulte o manual > > http://pgdocptbr.sourceforge.net/ > > > > Para editar suas opções ou sair da lista acesse a página da lista em: > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios > > > > > > -- > Atenciosamente, > Sebastian Selau Webber Colombo > _______________________________________________ > Grupo de Usuários do PostgreSQL no Brasil > Antes de perguntar consulte o manual > http://pgdocptbr.sourceforge.net/ > > Para editar suas opções ou sair da lista acesse a página da lista em: > http://pgfoundry.org/mailman/listinfo/brasil-usuarios > > _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
