Olá Wanderson, o Oracle somente obriga a criação de indices em Chave Primaria e/ou Chave Unicas. Não é necessário a criação de indices para chaves estrangerias. Contudo, sempre é bom criar indices para FK, mas tabelas mais usada no sistema, por dois motivos: 1- Para melhorar performace em consultas que fazer JOIN entre as tabelas em questão. 2 - Para Evitar algun LOCK em tabela: Por exemplo o Lock "Enqueue - TM" -> "index Foreign Keys, Check application locking of tables" mencionado no Livro - Oracle DataBase 10G Performance Tuning Tips & Techniques
Trecho do Capiturlo 14: Using STATSPACK and the AWR Report to Tune Waits and Latches; no Topico Enqueue: "When users want to change the exact same record in a block, a TX6 lock is the result. Lastly, while you no longer get TM locks, which are table locks when you don’t index foreign keys, be sure to still index them to avoid a performance issue" Alessandro Lúcio Cordeiro da Silva Analista de Sistema þ http://alecordeirosilva.blogspot.com/ O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: estamos vivos. "Joana de Souza Schmitz Croxato" ________________________________ De: Wanderson Barrence <wbarre...@gmail.com> Para: oracle_br@yahoogrupos.com.br Enviadas: Sexta-feira, 28 de Setembro de 2012 12:29 Assunto: [oracle_br] Índices em todas as FK's de todas as tabelas Olá Pessoal, É necessário que todas as tabelas que tenham FK's tenham também índices nessas FK's? At, -- Wanderson Barrence DBA Oracle 10g/11g Analista de Testes - CBTS ---------------------------------------------------------- MSN: wbarre...@hotmail.com ICQ: 170821994 Linkedin: http://br.linkedin.com/in/wbarrence [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]