Eduardo. Sobre o select tranquilo ..Estava assim mesmo e não resultado.
Sobre o artigo, é muito interessante... vlw mesmo. O negócio então é mandar
indices em FKs como regra de implementação.
Vlw !!!
Abraço
Em 18/09/08, Claro, Eduardo [EMAIL PROTECTED] escreveu:
Alvaro,
Se você está executando a query exatamente como colocou, ela não vai
retornar nada mesmo, pois o nomes de eventos de espera no Oracle (como o
enq que você está procurando) são com letras minúsculas. Portanto, a query
deveria ser:
SELECT event#, name FROM v$event_name
WHERE UPPER(name) LIKE 'enq: TM%';
Quanto a indices em FKs, via de regra é uma boa prática tê-los, pois
provavelmente estas tabelas pai e filha serão lidas juntas (com JOIN),
certo? Numa consulta destas, a falta do índice pode ocasionar FULL SCANs
indesejáveis. Ainda, se a tabela pai sofre UPDATEs na coluna chave ou
DELETEs, o Oracle fatalmente vai procurar correspondências na tabela filha.
Se não tiver índice, mais FULL SCANs à vista e possivelmente LOCKS na TABELA
FILHA INTEIRA...
Veja uma explicação mais detalhada em
http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:292016138754
[]s
Eduardo Claro
-Original Message-
From: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br[mailto:
oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] On Behalf
Of Alvaro Luiz Mansor Neto
Sent: quarta-feira, 17 de setembro de 2008 17:13
To: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br
Subject: [oracle_br] Sobre Indices em FKs
Boa tarde a todos.
Banco de Dados: Oracle 9i ( 9.2.0.8 ).
Eu tenho muito ganho de performance criando Indices em todas FKs de tabelas
para evitar Lock em nível de tabela ?
Ja ouvi falar por alguns consultores q é crucial em uma operação de
Performance em banco ter indices em todas FKs.
Aprendi que posso me basear no SELECT abaixo, para saber quais são os
eventos em espera no banco, verificando o resultado da linha ( se houver
resultado ) na view v$event_name ( para saber o motivo da espera ).
SELECT event#, name FROM v$event_name
WHERE UPPER(name) LIKE 'ENQ: TM%'
Só q no meu banco não tenho nenhum resultado de eventos em espera. A idéia
é
realmente criar indices para evitar um waiting futuro ou ir planejando o
tuning de acordo com o q acontece no dia-a-dia ?
Abraço
Alvaro
[As partes desta mensagem que não continham texto foram removidas]
--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
inteira responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
--
Funções, Procedures, propostas de emprego - O GRUPO ORACLE_BR TEM SEU
PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/
-- Links do Yahoo!
Grupos
[As partes desta mensagem que não continham texto foram removidas]