As estatística do seu BD estão em dia?
Faça um teste escrevendo sem o HINT e outro escrevendo usando o HINT INDEX
desta maneira: /*+ INDEX (C I_UNICA_TARJETA) */ , usando o apelido que você
deu a tabela Cartoes, e usando somente o INDEX e não INDEX_ASC, pois para
que ordenar uma consulta sobre uma tabela que terá somente um registro
selecionado?
 
 
At.
 
 
Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
* - Fone: (0XX54) 3242-3615
* - Fax: (0XX54) 3242-3648
* - E-mail:  <BLOCKED::mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
* - WWW: www.autopratense.com.br <BLOCKED::http://www.autopratense.com.br/> 
  _____  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de rei_do_delphi
Enviada em: terça-feira, 11 de setembro de 2007 10:35
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: RES: [oracle_br] Utilização de Hints em Query
 
na verdade, especificando o número do cartão, não entendi o porque 
que o otimizador não utiliza o índice. E o custo maior esta nesta 
parte mesmo!. Ele deveria utilizar o índice !

--- Em [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br, "Bruno Lorenzini" 
<[EMAIL PROTECTED]> escreveu
>
> /* + INDEX_ASC( Cartoes I_UNICA_TARJETA ) */
> 
> 
> 
> Falou o "+".
> 
> 
> 
> 
> 
> Mas, mesmo assim... porque você ao invés de forçar a utilização do 
índice
> não avalia a necessidade da criação de um ou mais índices pra que o
> otimizador possa se virar sozinho? Análise a sua where clause, a 
sua tabela
> e veja se não é possível.
> 
> 
> 
> Qlquer coisa é só avisar.
> 
> 
> 
> 
> 
> Abs,
> 
> 
> 
> _____ 
> 
> De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br 
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
> nome de rei_do_delphi
> Enviada em: terça-feira, 11 de setembro de 2007 09:54
> Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> Assunto: [oracle_br] Utilização de Hints em Query
> 
> 
> 
> Bom dia a todos,
> 
> depois de um longo e tenebroso inverno, consegui convencer o 
pessoal 
> da empresa a liberar o yahoogrupos para meu acesso ao fórum, 
motivo 
> do bloqueio? apenas por ele estar na lista de bloqueados do squid, 
> mas enfim, estou de volta e com algumas dúvidas.
> 
> Minha dúvida de hoje é sobre a utilização de um determinado Índice 
> para execução de uma query. A query é mais ou menos essa aqui:
> 
> SELECT /* INDEX_ASC(Cartoes I_UNICA_TARJETA)
> 
*/t.sucursal_emisor,t.producto,t.numero_cuenta,p.nacimiento,t.documen
> to,t.ESTADO,e.clase_de_estado
> 
> FROM Cartoes C, Pessoas p, Estados e
> WHERE p.documento = c.documento
> AND p.tipo_de_documento = c.tipo_de_documento
> AND p.sucursal_emisor =c.sucursal_emisor
> AND p.emisor = c.emisor
> AND e.ESTADO = c.ESTADO
> AND e.producto = c.producto
> AND e.emisor = c.emisor
> AND c.tarjeta = 1111111111111111 ;
> 
> enfim, existe o seguinte índice:
> 
> I_UNICA_TARJETA na tabela cartoes. Porém quando executo o plano de 
> execução da query acima( pelo SQL Developer) ele me retorna:
> 
> TABLE ACCESS(FULL) BCC.Cartoes ANALYZED 4760 1 48
> 
> isso quer dizer, esta fazendo TABLE ACCESS FULL !!! Mesmo eu 
> colocando o Hint:
> 
> /* INDEX_ASC(Cartoes I_UNICA_TARJETA)*/
> 
> E continua não fazendo este acesso, o que devo fazer para que a 
> query comece a utilizar o hint acima?
> 
> o cost de ele fazer esse Access FULL Scan é de 4760, é o mais alto 
> da Query, se ele utilizasse o índice seria bem mais rápido. 
> Observação, é um índice do tipo normal.
> 
> Abraço a todos e desde já obrigado.
> 
> 
> 
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>
 


[As partes desta mensagem que não continham texto foram removidas]

Responder a