通过向数据库中反复执行插入指令,比较ADO.NET OLE DB Provider , ADO.NET SQL Provider 和ADO.NET ODBC Provider 访问 SQL Server 的性能。

 

 

)
                olecmd.ExecuteNonQuery();
        }

    }
}

 

输出如下:

MAX=50

ADO.NET cost 1740174 ticks.
OLE DB   cost 810081 ticks.
ODBC     cost 450045 ticks.

MAX=1000

ADO.NET cost 6060606 ticks.
OLE DB   cost 7160716 ticks.
ODBC     cost 4970497 ticks.

MAX=10000

ADO.NET cost 59245924 ticks.
OLE DB   cost 76817681 ticks.
ODBC     cost 55645564 ticks..

 

MAX=30000

ADO.NET cost 179757974 ticks.
OLE DB  cost 237743772 ticks.
ODBC    cost 186518650 ticks.

 

MAX=50000

ADO.NET cost 293179315 ticks.
OLE DB  cost 432073203 ticks.
ODBC    cost 322262223 ticks.

 

结论:

当操作数据较小时,采用OLE DB Provider 或 ODBC Provider 的 Insert 操作性能优于 SQL Provider。

而当操作数据较多时,采用 SQL Provider 更好。

对于其他操作,如 Update, Delete, Create 并没有测试。

 

附: MDAC Framework

ADO.NET SQL Provider 和 ADO.NET OLE DB Provider 和 ADO.NET ODBC Provider 性能对比。

ADO.NET SQL Provider 和 ADO.NET OLE DB Provider 和 ADO.NET ODBC Provider 性能对比。

 

相关文章: