Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
678 views
in Technique[技术] by (71.8m points)

ssis ado.net/oledb performance against oracle makes no sense

I am using vs 2017 enterprise for development and an internal Azure run time environment to run the ssis packages. I am reading a ~1.5 million row oracle table and writing into an MS Sql DAN database. Can anyone explain the performance characteristics I describe below? It appears that the OLEDB Oracle driver is very efficient but then it runs terribly with the OLEDB SSIS task. Here are the run time characteristics:

  • ADO.net Task with Oracle Ado.net driver: ms sql table takes ~32 minutes to load
  • ADO.net Task with an Oracle OLEDB driver: ms sql table takes ~5 minutes to load (the winner)
  • OLEDB Task with an Oracle OLEDB driver: ms sql table take ~20 minutes to load
question from:https://stackoverflow.com/questions/65911287/ssis-ado-net-oledb-performance-against-oracle-makes-no-sense

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Ok, I think I figured this out. I had been just taking the MS Sql write side for granted but, in my environment, there are two drivers you can specify in an OLEDB Destination Task for MS Sql, SQLOLEDB.1 and SQLNCLI11.1 . The job that writes in 5 minutes is using SQLOLEDB.1 to write to MS Sql. The 3rd job that takes ~20 minutes is using SQLNCLI11.1 . Ironically SQLOLEDB.1 is older and many organizations are deprecating it even though it is much faster. I will be able to prove my suspicions soon and will report the final result.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...