BIND PARAM

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Performance Diagnostics & Tuning.
Post Reply
gabriel_avila

BIND PARAM

Post by gabriel_avila »

Boa tarde,

Hoje no trabalho tive uma situação que me deixou com bastante dúvida. Todos nós sabemos que os binds são muito importantes para a performance do banco. Porém estou vendo muitos inserts nas aplicações com binds e outros sem binds.

Nas consultas eu sei que fazem uma diferença grotesca, afinal todo o PARSE da consulta é reutilizado (na aplicação as consultas estão com binds, maravilha!). Porém afetaria também nos INSERTs? Inserts sem bind são menos performáticos a chegar a um ponto de termos que forçar a utilização deles no Oracle?

Obrigado pela atenção e se preparem para novas dúvidas rs.

portilho
Site Admin
Posts: 502
Joined: Wed May 29, 2013 8:51 am

Re: BIND PARAM

Post by portilho »

Todo comando SQL, seja SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, etc., sofre compilação.
Um comando apenas que não utiliza variáveis BIND, não é um problema. O problema é um mesmo comando repetitivo, ás centenas ou milhares, sem BIND.

Portanto, os INSERTs sem BINDs serão menos performáticos se forem em grandes quantidades, como os SELECT.

Por exemplo:
INSERT INTO TABELA_DE_LOG VALUES ('Salário alterado com sucesso');

Se este INSERT de uma tabela de "Auditoria" não tiver BINDs, e ocorrer a todo instante, irá derrubar o desempenho do banco como um todo.

Lembrando que o primeiro passo para saber se isto é um problema, é verificar se as Waits relacionadas à este problema são relevantes para você. Se não são, não se preocupe.

Post Reply