O
Optimizer da Oracle Exadata tem características específicas, que em alguns casos
impedem o mesmo de escolher o melhor plano de execução e utilizar algumas
funcionalidades do Exadata que garantem uma melhor performance no retorno da
consulta ao banco de dados. Algumas consultas começaram a apresentar problemas de
lentidão e com isso foi necessário realizar um tuning de Hint nas consultas,
forçando o Optimizer a escolher o recurso “smart scan”, que garante a melhor
forma para realizar a busca de dados.
Esta técnica de
utilização deste hint especifico, sendo utilizada em qualquer outra versão do
banco de dados da Oracle, não sendo o Exadata, não poderia ser nunca utilizada,
pois a mesma não faz a utilização de nenhum índice, realizando uma consulta
completa na tabela.
Em toda a minha experiência com banco de dados, nunca imaginei que iria solucionar um problema de performance realizando péssimas práticas de consultas.
Em toda a minha experiência com banco de dados, nunca imaginei que iria solucionar um problema de performance realizando péssimas práticas de consultas.
Duas frases
interessantes foram citadas em uma apresentação sobre estes problemas no Exadata,
que achei bem interessante:
“Exadata is NOT a magic cure fora bad SQL!”
“Exadata is NOT a magic cure fora bad SQL!”
“However, fixing bad SQL
may make Exadata appear to be a magic cure.”
O defeito descrito em alguns sites especializados, definem este problema que ocorre com o Optimizer da Oracle Exadata, como sendo que as novas features do Exadata não são reconhecidas pelo Optimizer da Oracle, que o mesmo não teve alterações significativas para suportar estas novas funcionalidades.
Por exemplo, vemos o exemplo do select abaixo:
O defeito descrito em alguns sites especializados, definem este problema que ocorre com o Optimizer da Oracle Exadata, como sendo que as novas features do Exadata não são reconhecidas pelo Optimizer da Oracle, que o mesmo não teve alterações significativas para suportar estas novas funcionalidades.
Por exemplo, vemos o exemplo do select abaixo:
Diversos relatórios da Oracle, indicam definir o hint /*+ full(t) */ para forçar o recurso especial do Exadata e ganhar em performance.
Algumas querys ganharam imensa performance utilizando este Hint. Contudo, logicamente não é recomendado utilizar este Hint em todas as querys, somente para em casos de query que apresentam lentidão.
Também para trabalhar com Exadata é necessário quebrar alguns conceitos, nem todas as consultas realizadas por índices, são necessariamente as mais rápidas, com isso, em alguns casos são necessários deletar ou deixar índices invisíveis.
Também para trabalhar com Exadata é necessário quebrar alguns conceitos, nem todas as consultas realizadas por índices, são necessariamente as mais rápidas, com isso, em alguns casos são necessários deletar ou deixar índices invisíveis.
Bom... qualquer dúvida e comentário, é só mandar mensagens!
Fonte:
Nenhum comentário:
Postar um comentário