[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