Performance

Performance

Postby fuji » Fri 05 Sep 2014 18:58

Hi,

We are doing a performance tuning for our application, which is using Entity Framework 4.0 and dotConnect for Oracle v8.2.103.0, and we saw that it spends a lot of time (in this case 44s) retrieving the information in this method Devart.Data.Oracle.aa.d().
Could you tell me why it takes so long to retrieve a result set that contains 108 rows and takes 3.4s in a DB tool using the query generated by EF?

Here is the call stack:
System.Data.Common.Internal.Materialization.Shaper<T>+SimpleEnumerator<T>.MoveNext()
System.Data.Common.Internal.Materialization.Shaper<T>.StoreRead()
Devart.Common.Entity.b9.Read()
Devart.Data.Oracle.OracleDataReader.Read()
Devart.Data.Oracle.h.b.(int A_0)
Devart.Data.Oracle.bp.a()
Devart.Data.Oracle.aa.d()
fuji
 
Posts: 5
Joined: Thu 05 Jun 2014 14:25

Re: Performance

Postby MariiaI » Mon 08 Sep 2014 13:27

Please specify the following information:
- the version of Oracle server;
- the mode you are working with - direct or OCI;
- the DDL/DML scripts for the necessary database tables;
- the code snippet, etc.

If possible, please send us a test project, with which the error is reproducible, so that we could investigate it in more details and find the solution for you in a shortest time.
MariiaI
Devart Team
 
Posts: 1472
Joined: Mon 13 Feb 2012 08:17

Re: Performance

Postby fuji » Mon 08 Sep 2014 14:31

Hi,
We are using Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production.
According to the connection string in our app.config we are using DirectMode:
<add name="Context"
connectionString="metadata=res://*/....csdl|
res://*/....ssdl|
res://*/....msl;
provider=Devart.Data.Oracle;
provider connection string=&quot;DIRECT=true;HOST=...;PORT=1528;SERVICE NAME=o4139;PASSWORD=...;PERSIST SECURITY INFO=True;USER ID=...&quot;"
providerName="System.Data.EntityClient" />
(all sensitive information was replaced by ...)

Even I send you the DDL/DML scripts for the tables I doubt that you will be able to reproduce the problem because those tables are part of much bigger DB model.

As I can see the method in question ( Devart.Data.Oracle.aa.d() )is below OracleDataReader.Read so I suppose that you are doing some kind of low level reading.
What could affect the performance inside it?

Thanks
fuji
 
Posts: 5
Joined: Thu 05 Jun 2014 14:25

Re: Performance

Postby MariiaI » Wed 10 Sep 2014 09:41

Unfortunately, the information you've provided is not enough to reproduce your scenario. This behaviour may depend on the specific table structure, data types, associations, etc.
Thus, please provide us with the following information:
- the query you are executing;
- the DDL (if possible, the DML) scripts for the tables, which are involved in this query;
- the generated SQL (you can get it via the dbMonitor tool: http://www.devart.com/dbmonitor/dbmon3.exe);
- please try using the OCI mode, and compare the performance using both modes (OCI and direct).
MariiaI
Devart Team
 
Posts: 1472
Joined: Mon 13 Feb 2012 08:17


Return to dotConnect for Oracle