Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle and Dotnet
Jim Kennedy wrote:
> So what is wrong with your example? Don't know, not enough information.
> Try the same thing by using slider. I bet you will be able to import a lot
> more than 35 records a second into that table via sqlloader. That would
> give you an idea of probably how fast odp.net would be if written
> effeciently. (estimate of top throughput in your environment.)
Is it possible there are some inefficiencies in the code. Sure. Do I think they are so bad to drop the rate from the 10,000 per second I get with PL/SQL on SQLplus down to 40 per second with ODP.NET.
I doubt it.
I only open the connection once.
I'm not committing after each insert, I wait til the loop is finished.
I'm not using binding because I insert the same fixed SQL statement each
time.
Are there some inefficiencies...maybe...but geez, 40 inserts per second?
Here is the code again, it cannot be THAT inefficient!
using System;
using Oracle.DataAccess.Client;
class insert
{
static void Main()
{
//connection string String cs = "User Id=nopusr;Password=nopusr;Data Source=nop"; //create the connection and open OracleConnection con = new OracleConnection(cs); con.Open(); //create the command and assign the connection to it OracleCommand cmd = new OracleCommand(); cmd.Connection = con; //create the SQL, no variables, no bindings to worry about string SQL = "insert into test values ('1')"; cmd.CommandText = SQL; //do my loop for (int x = 1; x<1000; x++) { cmd.ExecuteNonQuery(); } //done with the loop so I commit only once cmd.CommandText = "commit"; cmd.ExecuteNonQuery(); //clean up cmd.Dispose(); con.Close(); con.Dispose();
![]() |
![]() |