StatementCache

jeckels

Member
I am using StatementCache := true, StatementCache := 100.

What I am seeing is that from the Oracle persecptive, there is 1 parse, and numerous executions; as I would expect. HOwever, I am also noticing that my application's memory has gone crazy. WIthout statment cache, it uses about 40M. With statement cache, it has grown to over 1.4 GIG.

This is also causing a severe performance degradation.

Is this is a known issue, or is there a fix?

Code:
FConnection := TOracleSession.Create(Nil);
  FConnection.ThreadSafe := True;
  FConnection.AutoCommit := False;
  FConnection.Preferences.ZeroDateIsNull := False;
  FConnection.StatementCache := True;
  FConnection.StatementCacheSize := 100;

Any insights or guidance with this?

Thanks, in advance.
 
Are the StatementCache and StatementCacheSize property values the only difference between the 40M scenario and the 1.4G scenario?
 
Yes, this is literally the only change. When False, no spiralling memory growth. When true, memory grows.

I have an application with False, takes 45 minute; uses about 40M
That exact same application with True, takes about 15 hours, and uses more and more (upwards to 1.4GIG).
 
I noticed on another thread about a 64-bit hotfix

Is there a list of patch notes which outlines change history?
 
It only fixes the missing ApplyUpdates, CommitUpdates and CancelUpdates procedures in the 64 bit Oracle.dcu unit.
 
Back
Top