- Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 14 anos, 7 meses atrás por
rman.
-
AutorPosts
-
12 de agosto de 2011 às 6:57 pm #100305
isaqueax
ParticipanteBom Dia Pessoal,
PS.: Desculpem o texto longo, mas é pq queria deixar bem explicado.
Estou com uma base que precisa trabalhar com alta performance mas estou com medo de cair em um problema. Bom é o seguinte, eu preciso otimizar as consultas em algumas tabelas, pra isso estou criando alguns índices nas mesmas, uma das tabelas possui entorno de 9 colunas e criei índice para 6 colunas. No caso a minha dúvida é, quanto mais índices eu crio mais aumento o tempo para inserir ou alterar um registro nessa tabela? Pelo fato de que Oracle terá que indexar as colunas, caso a resposta seja sim (e tenho quase 99% de certeza que será) gostaria de saber também se alguém tem noção se o custo é muito maior ou não (ou seja se compensa ou não).
Desde já obrigado.
12 de agosto de 2011 às 10:34 pm #100312vieri
Participanteobviamente, para toda inserção, o registro terá que ser inserido na arvore de índices, o oracle é bastante rápido nessa operação, mas você tem que pesar na balança, as vezes a criação de um indices melhora em 400% a performance de uma query e piora em 1% uma carga de dados..
basta vc pesar na balança…13 de agosto de 2011 às 7:14 am #100319rman
Participante[quote=”isaqueax”:2a6quq41]Bom Dia Pessoal,
PS.: Desculpem o texto longo, mas é pq queria deixar bem explicado.
Estou com uma base que precisa trabalhar com alta performance mas estou com medo de cair em um problema. Bom é o seguinte, eu preciso otimizar as consultas em algumas tabelas, pra isso estou criando alguns índices nas mesmas, uma das tabelas possui entorno de 9 colunas e criei índice para 6 colunas. No caso a minha dúvida é, quanto mais índices eu crio mais aumento o tempo para inserir ou alterar um registro nessa tabela? Pelo fato de que Oracle terá que indexar as colunas, caso a resposta seja sim (e tenho quase 99% de certeza que será) gostaria de saber também se alguém tem noção se o custo é muito maior ou não (ou seja se compensa ou não).
Desde já obrigado.[/quote]
Sim, sobre criar índice, degrada a performance de INSERT, UPDATE e DELETE… mas é o que o Vieri falou… Tem que analisar, as vezes compensa…
Me diz uma coisa, essas consultas aparecem no relatório do ADDM ? Se aparecer, seria interessante verificar a recomendação do advisor… Nem sempre criar índice melhora a performance…
Considerando que realmente a criação de índice é a solução do problema… Existe uma forma precisa de saber se realmente melhorou ou piorou a performance depois da criação do índice… Isso no caso de você estiver trabalhando com o Oracle 11g… É através do pacote DBMS_SQLPA, que é o SQL Performance Analyzer…
Seguindo o artigo:
http://miltonbastos.com/2011/08/04/sql- … -analyzer/
É só fazer a coleta de dados antes da criação do índice e outra depois, então compara-las…
Recurso interessante do Oracle 11g !
-
AutorPosts
- Você deve fazer login para responder a este tópico.