通过向数据库中反复执行插入指令,比较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