performance issue using Devart Oracle
Posted: Tue 12 Jan 2010 10:20
Hi,
I'm testing response time using Devart oracle on select queries.
3x Select queries withour parameters
Devart.Data.Oracle.OracleConnection => 25s
System.Data.OracleClient.OracleConnection => 0.003s
Is there anything to do to get better response time ?
Thanks for help
Maxime
Source code :
-------------------------------------------------------------------------------
using System;
using System.Data;
using System.Data.OracleClient;
using Devart.Data;
using Devart.Data.Oracle;
using System.Threading;
using System.Diagnostics;
namespace TestsBDD
{
class Program
{
private static System.Data.OracleClient.OracleConnection _ConnectionNativeAvecUnicode = null;
private static Devart.Data.Oracle.OracleConnection _ConnectionDevartAvecUnicode = null;
private static void CreateConnectionDevartAvecUnicode()
{
_ConnectionDevartAvecUnicode = new Devart.Data.Oracle.OracleConnection();
_ConnectionDevartAvecUnicode.Server = "172.16.1.33";
_ConnectionDevartAvecUnicode.Sid = "PROGOSF";
_ConnectionDevartAvecUnicode.Port = 1521;
_ConnectionDevartAvecUnicode.UserId = "TEST";
_ConnectionDevartAvecUnicode.Password = "TEST";
_ConnectionDevartAvecUnicode.Direct = true;
_ConnectionDevartAvecUnicode.ConnectionString += "Pooling=false;";
_ConnectionDevartAvecUnicode.Unicode = true;
}
private static void CreateConnectionNativeAvecUnicode()
{
_ConnectionNativeAvecUnicode = new System.Data.OracleClient.OracleConnection();
_ConnectionNativeAvecUnicode.ConnectionString = "Data Source=PROGOSF;User Id=TEST;Password=TEST;Unicode=true;";
}
static void Main(string[] args)
{
CreateConnectionDevartAvecUnicode();
_ConnectionDevartAvecUnicode.Open();
CreateConnectionNativeAvecUnicode();
_ConnectionNativeAvecUnicode.Open();
TestSelect();
_ConnectionDevartAvecUnicode.Close();
_ConnectionNativeAvecUnicode.Close();
Console.Read();
}
private static void TestSelect()
{
Stopwatch timer = new Stopwatch();
int i = 0;
string sqlselecttable = "SELECT distinct idaction FROM INELEMDOS WHERE NOT EXISTS (SELECT 1 FROM INCPDOS WHERE idaction=INELEMDOS.idaction and iddoss like '0%"+i+"%')";
//////////////////////////////
Console.Write("Connection Devart Avec Unicode - select complexe *3 : ");
Devart.Data.Oracle.OracleCommand _CommandeDevartAvecUnicodeSelectTable = new Devart.Data.Oracle.OracleCommand(sqlselecttable, _ConnectionDevartAvecUnicode);
timer = new Stopwatch();
timer.Start();
for (i = 0; i < 3; i++)
{
_CommandeDevartAvecUnicodeSelectTable.ExecuteNonQuery();
}
timer.Stop();
Console.WriteLine(timer.Elapsed.ToString());
//////////////////////////////
Console.Write("Connection Native Avec Unicode - select complexe *3 : ");
System.Data.OracleClient.OracleCommand _CommandeNativeAvecUnicodeSelectTable = new System.Data.OracleClient.OracleCommand(sqlselecttable, _ConnectionNativeAvecUnicode);
timer = new Stopwatch();
timer.Start();
for (i = 0; i < 3; i++)
{
_CommandeNativeAvecUnicodeSelectTable.ExecuteNonQuery();
}
timer.Stop();
Console.WriteLine(timer.Elapsed.ToString());
}
}
}
-------------------------------------------------------------------------------
I'm testing response time using Devart oracle on select queries.
3x Select queries withour parameters
Devart.Data.Oracle.OracleConnection => 25s
System.Data.OracleClient.OracleConnection => 0.003s
Is there anything to do to get better response time ?
Thanks for help
Maxime
Source code :
-------------------------------------------------------------------------------
using System;
using System.Data;
using System.Data.OracleClient;
using Devart.Data;
using Devart.Data.Oracle;
using System.Threading;
using System.Diagnostics;
namespace TestsBDD
{
class Program
{
private static System.Data.OracleClient.OracleConnection _ConnectionNativeAvecUnicode = null;
private static Devart.Data.Oracle.OracleConnection _ConnectionDevartAvecUnicode = null;
private static void CreateConnectionDevartAvecUnicode()
{
_ConnectionDevartAvecUnicode = new Devart.Data.Oracle.OracleConnection();
_ConnectionDevartAvecUnicode.Server = "172.16.1.33";
_ConnectionDevartAvecUnicode.Sid = "PROGOSF";
_ConnectionDevartAvecUnicode.Port = 1521;
_ConnectionDevartAvecUnicode.UserId = "TEST";
_ConnectionDevartAvecUnicode.Password = "TEST";
_ConnectionDevartAvecUnicode.Direct = true;
_ConnectionDevartAvecUnicode.ConnectionString += "Pooling=false;";
_ConnectionDevartAvecUnicode.Unicode = true;
}
private static void CreateConnectionNativeAvecUnicode()
{
_ConnectionNativeAvecUnicode = new System.Data.OracleClient.OracleConnection();
_ConnectionNativeAvecUnicode.ConnectionString = "Data Source=PROGOSF;User Id=TEST;Password=TEST;Unicode=true;";
}
static void Main(string[] args)
{
CreateConnectionDevartAvecUnicode();
_ConnectionDevartAvecUnicode.Open();
CreateConnectionNativeAvecUnicode();
_ConnectionNativeAvecUnicode.Open();
TestSelect();
_ConnectionDevartAvecUnicode.Close();
_ConnectionNativeAvecUnicode.Close();
Console.Read();
}
private static void TestSelect()
{
Stopwatch timer = new Stopwatch();
int i = 0;
string sqlselecttable = "SELECT distinct idaction FROM INELEMDOS WHERE NOT EXISTS (SELECT 1 FROM INCPDOS WHERE idaction=INELEMDOS.idaction and iddoss like '0%"+i+"%')";
//////////////////////////////
Console.Write("Connection Devart Avec Unicode - select complexe *3 : ");
Devart.Data.Oracle.OracleCommand _CommandeDevartAvecUnicodeSelectTable = new Devart.Data.Oracle.OracleCommand(sqlselecttable, _ConnectionDevartAvecUnicode);
timer = new Stopwatch();
timer.Start();
for (i = 0; i < 3; i++)
{
_CommandeDevartAvecUnicodeSelectTable.ExecuteNonQuery();
}
timer.Stop();
Console.WriteLine(timer.Elapsed.ToString());
//////////////////////////////
Console.Write("Connection Native Avec Unicode - select complexe *3 : ");
System.Data.OracleClient.OracleCommand _CommandeNativeAvecUnicodeSelectTable = new System.Data.OracleClient.OracleCommand(sqlselecttable, _ConnectionNativeAvecUnicode);
timer = new Stopwatch();
timer.Start();
for (i = 0; i < 3; i++)
{
_CommandeNativeAvecUnicodeSelectTable.ExecuteNonQuery();
}
timer.Stop();
Console.WriteLine(timer.Elapsed.ToString());
}
}
}
-------------------------------------------------------------------------------