[firebase-br] Lentidão com Viwers

Pedro Rizatto Manoel pedrofrmanoel em gmail.com
Quarta Dezembro 2 09:41:16 -03 2020


Bom dia Pessoa!
Ainda estou tentando fazer a procedure de um modo genérico teria como eu
passar um parametro string no where como no exemplo abaixo ?

Estou fazendo alguns teste com a procedure e estou tendo um problema com o
modo que eu quero usar os parametros. "Não sei se é o modo correto".
 Fiz um exemplo no banco employee.

SET TERM ^ ;

create or alter procedure TESTE (
    DEPARTAMENTO varchar(100),
    SFILTRO varchar(1000))
returns (
    HEAD_DEPT char(25),
    DEPARTMENT char(25),
    MNGR_NAME char(20),
    TITLE char(5),
    EMP_CNT integer)
as
declare variable MNGR_NO integer;
declare variable DNO char(3);
BEGIN
    FOR SELECT h.department, d.department, d.mngr_no, d.dept_no
        FROM department d
        LEFT OUTER JOIN department h ON d.head_dept = h.dept_no
        WHERE h.department =:departamento || :SFILTRO
        ORDER BY d.dept_no
        INTO :head_dept, :department, :mngr_no, :dno
    DO
    BEGIN

        SUSPEND;
    END
END^
SET TERM ; ^

/* Following GRANT statements are generated automatically */
GRANT SELECT ON DEPARTMENT TO PROCEDURE TESTE;
/* Existing privileges on this procedure */
GRANT EXECUTE ON PROCEDURE TESTE TO SYSDBA;

----------------------------------------------
e estou executando a procedure deste modo  e  não está retornando nenhuma
informação
    select * from TESTE('European Headquarters',' and d.department =
''Field Office: France''')

caso eu execute sem o segundo parametro ele trás os dados
      select * from TESTE('European Headquarters','')



Desde já Agradeço.

Em qui., 12 de nov. de 2020 às 11:33, Gladiston Santana via lista <
lista em firebase.com.br> escreveu:

> Muitas pessoas criam uma view e o banco de dados já deixa ela compilada até
> mesmo com o plan prédefinido o que em tese ficaria mais rápido, mas daí põe
> um where em cima da view cuja expressão quebra o indice resolvido
> tornando-o um select em cima de outro select. Se este for o seu caso,
> recomendo que faça o select/where direto com prepare se irá utilizá-la
> varias vezes na mesma sessão ou então repita a querie(não a view) e  veja o
> plan que a torna eficiente e engesse este plan na view.
>
> Em qua., 11 de nov. de 2020 às 09:03, Pedro Rizatto Manoel via lista <
> lista em firebase.com.br> escreveu:
>
> > Bom dia !
> >
> > Estou com um banco de dados de 20 Gigas. Faço backup restore
> periodicamente
> > e o banco não está corrompido.
> >
> > Fiz uma viwers que uni 5 tabelas financeiras caixa, boleto, ctreceber,
> > cheque, cartão pq tenho que mostrar estas informações várias vezes.
> >
> > Ai quando eu uso a viwers eu passo o filtro de empresa e com isso ela
> fica
> > muito lenta.
> >
> > Eu acho que a lentidão acontece pq a viwer carrega todas as informações
> do
> > banco sem where e depois o sistema faz o filtro isso acontece deste modo
> > mesmo ?
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> > http://www.firebase.com.br/pesquisa_lista.html
> >
>
>
> --
> A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
> Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
> na Melhoria Continua.
>
> Em março de2018 migramos com sucesso para a nova versão da ISO 9001.
>
> Somos a única Empresa Brasileira de Engenharia de Laboratórios com
> certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
> Fabricação e Instalação de Laboratórios.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>


Mais detalhes sobre a lista de discussão lista