QUERY DO FIM PARA O INICIO
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
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
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
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
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.
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.
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.
Obrigado.
Alguma sugestão? Não encontrei nada que resolvesse meu problema ainda ;s
Faça seu login para responder