QUERY DO FIM PARA O INICIO

EDULOCO 03/07/2014 11:53:56
#439327
Bom dia pessoa, tudo bem ?

Pessoal tenho uma dúvida, já dei uma pesquisada aqui no fórum e no google e não encontrei a resposta, eu tenho uma tabela ( um pouco grande rs ) e preciso fazer buscas muitas vezes nessa tabela e por causa do tamanho ela demora para me dar o resultado. Eu vou filtrar a busca pela data, geralmente a busca vai ser buscar na própria data, por exemplo hoje 03/07/2014 a busca seria para a mesma data, existe uma forma de eu iniciar a busca do final para o inicio da tabela para agilizar essa busca? Exemplo: Buscar do final a data 03/07/2014 e quando chegar na data 02/07/2014 ele encerra as buscas e me dá os resultados.

Se não conseguirem entender por favor me digam, continuarei procurando aqui para ver se acho algo, mas se me tirarem essa dúvida vai ser de grande ajuda.

Obrigado desde já. Quanta palavra [Ô]busca[Ô] eu coloquei o.O kkkk
RO.DRIGOSG 03/07/2014 12:22:21
#439329
Bom dia EDULOCO,

Seguinte, aqui para resolver o problema de lentidão em querys utilizamos o particionamento de tabelas. Quando a tabela é muito grande eu faço o particionamento da mesma (isso no SQL SERVER, não sei qual é o seu banco). Você poderia fazer o particionamento da tabela por datas e assim fazer as pesquisas muito mais rápido. Esse particionamento é feito no SQL e não afeta a sua query, para fazer o SELECT é transparente, não precisa colocar nenhum parâmetro a mais e nem a menos, a sua query fica do mesmo jeito.

Segue link de exemplo:
http://msdn.microsoft.com/en-us/library/ms188730.aspx
GUIMORAES 03/07/2014 14:19:37
#439332
A criação de indexadores ajuda e muito no retorno dos resultados.
Você pode limitar a quantidade de registros, por exemplo: Select top 1000 codigo, nome from tabela.

Ah, um detalhe que ajuda é saber qual banco de dados você está usando.

Criação de views e procedures também podem ajudar, sendo que o servidor irá processar o pedido e retornar o resultado, visto que na maioria das vezes o servidor é o melhor computador da empresa e tem alto poder de processamento.
EDULOCO 03/07/2014 16:52:34
#439343
Esqueci de dizer meus amigos, na loja onde eu trabalho o sistema está em clipper e usa arquivos DBF como base de dados, são vários arquivos dentro de uma pasta com as extensões .DBF, eu não sou administrador do sistema porém tenho acesso para mexer, já criei alguns programinhas para pesquisas nessas tabelas para pesquisar partes de nomes, já que o clipper que nós temos na loja pesquisa apenas pelo nome total, vamos dizer que quero encontrar Luiz Eduardo, eu teria que digitar o Luiz antes, ai fiz um para agilizar, porém essa tabela de nomes é pequena e a pesquisa é rápida, agora essas duas que eu estou mexendo no momento são enormes, ambas eu geralmente vou pesquisar por data, no caso o dia atual, se existir uma forma de fazer a query do final para o inicio iria facilitar, igual falei no exemplo acima, vou pesquisar por data 03/07/2014 e quando chegasse no dia 02 ele interrompesse a busca, não sei se é possível tal tarefa.


Obrigado.
EDULOCO 15/09/2014 10:51:55
#441217
Alguma sugestão? Não encontrei nada que resolvesse meu problema ainda ;s
Faça seu login para responder