Olá pessoal,
gostaria de tirar uma dúvida, gostaria de saber se existe alguma forma no oracle de ordenar as informações em uma tabela sem a utilização de ORDER BY. Por exemplo,
Tenho uma tabela que possui uma coluna chamada PER_STATUS que possui os valores 0 para inativo e 1 para ativo eu gostaria de ordenar os campos como 1,1,1,1,0,0,0,0 para que na hora que eu der um select nesta tabela os dados já serem extraídos nesta ordem. Atualmente os dados estão vindo, 0,0,0,0,0,1,1,1,1,1.
Por que você quer ordenar antes?
Simplesmente porque quando faço o select com o order by na view que me trás estas informações eu perco desempenho no select.
Desde já agradeço a atenção, forte abraço.
Ordenar tabelas sem Order by
- Anderrssoon
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Qui, 15 Mar 2012 7:34 am
- als04545
- Rank: Estagiário Pleno
- Mensagens: 5
- Registrado em: Seg, 21 Mar 2011 7:53 am
- Localização: Lins - SP
Carlos Silva
" Nunca me preocupo com o futuro... muito em breve, ele virá. " Albert Einstein
" Nunca me preocupo com o futuro... muito em breve, ele virá. " Albert Einstein
Bom dia, Anderson!
Desconheço esse metodo,
Para 000011111, você já tentou utilizar o metodo abaixo.
select [coluna]
from tabela
order by [coluna] desc;
At>.:
Desconheço esse metodo,
Para 000011111, você já tentou utilizar o metodo abaixo.
select [coluna]
from tabela
order by [coluna] desc;
At>.:
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Impossível. Você obrigatoriamente deve usar Order By para retornar dados ordenados num Select.
Mesmo que coincidentemente ele retorne na ordem que você quer sem usar Order By, não se deve depender desse comportamento, que pode mudar a qualquer momento gerando um bug na sua aplicação.
Apenas Order By em cada garante a ordenação. E apenas no Select. Não há forma de "inserir" em ordem que garanta que o select devolva na mesma ordem implicitamente.
O que talvez dê para fazer para melhorar o desempenho do seu select é testar se a criação da tabela através de um index-organized table possa ajudar... vai depender de testes, de como são os dados da tabela e de como o select filtra e acessa os dados (pk, uk, fk), joins com outras tabelas e etc.
http://docs.oracle.com/cd/E11882_01/ser ... dexiot.htm
Mesmo que coincidentemente ele retorne na ordem que você quer sem usar Order By, não se deve depender desse comportamento, que pode mudar a qualquer momento gerando um bug na sua aplicação.
Apenas Order By em cada garante a ordenação. E apenas no Select. Não há forma de "inserir" em ordem que garanta que o select devolva na mesma ordem implicitamente.
O que talvez dê para fazer para melhorar o desempenho do seu select é testar se a criação da tabela através de um index-organized table possa ajudar... vai depender de testes, de como são os dados da tabela e de como o select filtra e acessa os dados (pk, uk, fk), joins com outras tabelas e etc.
http://docs.oracle.com/cd/E11882_01/ser ... dexiot.htm
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes