PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Dúvida Performance - Percorrer Base
Versão:
11.8
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO ZERO em 13/11/2017, 13:23 h
Local: RJ  Registro: 09/02/2015  Postagens: 235
Prezados,

me digam o que acham, olhando do ponto de vista de performance mesmo.

Preciso gerar cartas de cobranças de inadimplentes, logo, preciso varrer a base atrás dos devedores em um período, só que como estamos chegando no final do ano (já sei) q no mínimo irão querer fazer de 01/01/2017 até hoje, período grande e mais um agravante, gerar isso em PDF, a carta de cada pessoa que deve, etc.

Para esse tipo de coisa eu logo penso em escrever uma query e varrer o result set dela e talz...

Será q seria melhor usar pelos comandos como DbSeek ao invés da Query?

Agradeço a ajuda

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 13/11/2017, 14:21 h
Local: PR  Registro: 04/07/2017  Postagens: 450

no meu ponto de vista uma query processa mais rápido !!!

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário JESSEALVES JESSEALVES em 13/11/2017, 21:31 h
Local: SP  Registro: 16/08/2012  Postagens: 68
Olá ! Boa noite ! Recomendo o uso da query.
Com ela você pode realizar um filtro mais específico, logo os dados que você procura estarão todos em seu Alias e isso te traz mais performance.
Eu, particularmente, gosto mais de trabalhar com as querys pois, além de serem mais dinâmicas eficiente na buscas dos dados, me abre mais possibilidade de montar uma "tabela virtual" conforme o perfil da minha necessidade.
Att,

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO ZERO em 13/11/2017, 22:59 h
Local: RJ  Registro: 09/02/2015  Postagens: 235
hmmm, pelo visto Query é melhor mesmo

vou ver q bicho dá hahahaha

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FRANCODAN FRANCODAN em 14/11/2017, 01:45 h
Local: SP  Registro: 25/09/2007  Postagens: 46
Use query, pois sem dúvida nenhuma é
muito mais dinâmico e versatil. Não
Esqueça do truque para a query ficar
Muito mais rápida, a cláusula ejete,
Captou ?

Fco C Dantas - 11 9 8275-0920

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FRANCODAN FRANCODAN em 14/11/2017, 01:57 h
Local: SP  Registro: 25/09/2007  Postagens: 46
A cláusula where ...
Fco C Dantas - 11 9 8275-0920

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 14/11/2017, 07:43 h
Local: PR  Registro: 04/07/2017  Postagens: 450

um detalhe importante no uso de querys é não usar select * from ....

selecione sempre somente os campos que irá utilizar,,exemplo:

select a1_nome,a1_cpf,a1_end from...

fica muito mais rápido !!!

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO ZERO em 14/11/2017, 11:00 h
Local: RJ  Registro: 09/02/2015  Postagens: 235
Sim sim, raramente uso Select * from mas é sempre bom lembrar!

Mas em uma consulta básica vai dar mais de 700 cartinhas PDF O.o

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FRANCODAN FRANCODAN em 14/11/2017, 12:29 h
Local: SP  Registro: 25/09/2007  Postagens: 46
Set um índice na
cláusula where e vai ver a
performance... vrruuunnn...

ABS,

Fco C Dantas - 11 9 8275-0920

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO ZERO em 16/11/2017, 09:44 h
Local: RJ  Registro: 09/02/2015  Postagens: 235
Vc fala usar um campo índice, digo um dos índices da tabela ou está se referindo a outra coisa?

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FRANCODAN FRANCODAN em 16/11/2017, 11:43 h
Local: SP  Registro: 25/09/2007  Postagens: 46
Selrct col1, col2,col3, ...
where a1_filial="01"
And a1_cod="002200"
And a1_loja="001"
ANd d_e_l_e_t_=" "

... para os camos que
vc não tem tem o valor
Use por exemplo
A1_loja IS NOT NULL

Desta forma vc está dizendo
Para a query trabalhar com
o índice 1 da tabela SA1

Vai notar a diferença...vrruu...

Fco C Dantas - 11 9 8275-092024 0853-69

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal