Pessoal, Alguém sabe se é possível visualizar como o um banco SQL está transformando um FOR EACH para um Select? Por exemplo temos o seguinte FOR EACH e gostaria de saber como foi montado o Select para ele: Código: FOR EACH aaa, EACH bbb, FIRST ccc, LAST DDD: END. Existe algum programa para isso? Obrigado!
eduardory, Você está usando um banco diferente de Progress via Dataserver? Porque se for Progress o comando não é convertido p/ SELECT. Se for via DataServer eu tenho impressão de que isso vai gerar uma maçaroca do cão
Acontece o seguinte: Temos uma aplicação feita em progress porém o BD é em SQL conectado via dataserver. E ao rodar um "FOR EACH" nessa base SQL como saber como é feita essa consulta ou quais chaves estão sendo utilizadas? Pois a performance caiu demais!!!!
Entendi, 2 opções: Habilitar log do DataServer. Para isso informe "-Dsrv qt_debug,SQL" na linha de conexão. Aqui tem um exemplo: http://ingleses.datasul.com.br/blog/pos ... erver.aspx A outra opção é rastrear no SQL Server. Tem diversas formas, o mais simples é com profiler. A primeira opção mostra o que o DataServer acha que envia pro banco. A segunda mostra o que o banco realmente recebe. E é coisa
Buenas coloque esse parametro no pf de conexao do banco -Dsrv qt_debug,SQL ficaria assim -db "shsop206" -RO -c 8000 -db sop206h -c 8000 -N tcp -dt MSS -Dsrv ZPRGRS_MSS_DATE_RANGE,1,BINDING,0,MSS_PRESERVE_CURS,0,QT_CACHE_SIZE,30000,TXN_ISOLATION,1,qtd_debug,SQL esse é um exemplo que tenho, isso é de uma instalação de EMS2 COM BANCOS sql server.