c#连接Oracle客户端对比
起因
工作这些年,使用Oracle数据库相不是很多,且Oracle数据库都是在Java项目中使用的.没有在.Net项目中使用过.今年从北京回来,换了工作,数据库主力是Oracle.最近的工作都是在和其他系统进行数据对接,提供数据给其他系统使用.对接的方式是提供视图.写完视图后,便写代码进行测试.因为公司项目中是比较老的.使用的是System.Data.Oracle.dll,便突然想起使用Oracle.DataAccess.dll进行对比.因为原先有同事和其他公司做数据对接的时候,使用就是Oracle.DataAccess.dll,说实话对于使用Oracle的连接驱动,还一直停留不支持.Net Core的状态.刚才在.Net Core项目中使用Nuget管理器查看了一下.
最怕先入为主呀!
代码
string conStr = "xxxx";
using (IDbConnection con = new OracleConnection(conStr))
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
int count = con.Query<int>("select count(NId) from D_PatientInfo").FirstOrDefault();
stopwatch.Stop();
Console.WriteLine(count);
Console.WriteLine($"time:{stopwatch.ElapsedMilliseconds / 1000}");
}
代码一样,主要使用System.Data.Oracle.dll的时候,创建OracleConnection对象的时候,会提示过时的.在使用Oracle.DataAccess.dll获取数据的时候,比System.Data.Oracle.dll要快一半,可能是测试不严谨.明天使用BenchmarkDotNet进行多次测试对比一下.
秋风
2020-08-18