[firebase-br] Acelerando View
Rubem Nascimento da Rocha
djpardalrocha em hotmail.com
Qui Mar 30 23:40:34 -03 2006
Faça a otimização nas tabelas envolvidas no SELECT, pois não existe índice
para VIEWs.
Sds.
>From: "Humberto Reis" <hsreisjr em yahoo.com.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: <lista em firebase.com.br>
>Subject: [firebase-br] Acelerando View
>Date: Thu, 30 Mar 2006 19:56:54 -0300
>
>Caros Colegas,
>
>Tenho uma view (abaixo) que é muito lenta, acredito ser pelo fator de fazer
>UNION em 5 tabelas. É possível incluir um índice?
>
>Grato,
>
>Humberto
>
>CREATE VIEW VW_PESSOA(
> CODIGO,
> NOME,
> NOMEREDUZIDO,
> TIPO,
> TIPOPESSOA,
> COMBINACAO,
> COD_TABELAPRECO,
> DOCUMENTO,
> LISTANEGRA,
> LIMITECREDITO,
> ATIVO)
>AS
>select LJ.Codigo,
> LJ.Nome as Nome,
> LJ.Nome_Fantasia as NomeReduzido,
> LJ.tipo,
> Cast('LOJA' as VarChar(10)) as TipoPessoa,
> LJ.Combinacao,
> cast(' ' as char(2)) as cod_tabelapreco,
> LJ.cgc as Documento,
> cast('0' as Char(1)) as ListaNegra,
> cast('0' as numeric(18,4)) as LimiteCredito,
> LJ.ativo
>from loja LJ
>where LJ.tipo = 'L'
>union all
>select FC.Codigo,
> FC.Nome as Nome,
> FC.Apelido as NomeReduzido,
> FC.tipo,
> Cast('EMPREGADO' as VarChar(10)) as TipoPessoa,
> FC.Combinacao,
> cast(' ' as char(2)) as cod_tabelapreco,
> cast(FC.cpf as char(14)) as Documento,
> cast('0' as Char(1)) as ListaNegra,
> FC.limitecredito as LimiteCredito,
> FC.ativo
>from funcionario FC
>where FC.tipo = 'E'
>union all
>select FD.Codigo,
> FD.Nome as Nome,
> FD.NomeReduzido as NomeReduzido,
> FD.tipo,
> Cast('FORNECEDOR' as VarChar(10)) as TipoPessoa,
> FD.Combinacao,
> cast(' ' as char(2)) as cod_tabelapreco,
> FD.cgc_cpf as Documento,
> cast('0' as Char(1)) as ListaNegra,
> FD.limitecredito as LimiteCredito,
> FD.ativo
>from fornecedor FD
>where FD.tipo = 'F'
>union all
>select CL.Codigo,
> CL.Nome as Nome,
> CL.NomeReduzido as NomeReduzido,
> CL.tipo,
> Cast('CLIENTE' as VarChar(10)) as TipoPessoa,
> CL.Combinacao,
> CL.Cod_TabelaPreco,
> CL.Cgc_Cpf as Documento,
> CL.listanegra as ListaNegra,
> CL.limitecredito as LimiteCredito,
> CL.ativo
>from cliente CL
>where CL.tipo = 'C'
>;
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_________________________________________________________________
MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
Mais detalhes sobre a lista de discussão lista