据我所知,某些数据库在R(例如MySQL)中具有本机支持,但您可以使用RODBC连接到其他数据库,如MS SQL Server。使用本机驱动程序与RODBC进行读/写操作可以提高多少速度? R中有哪些其他DB有本机驱动程序?阅读速度是否比一般写作更快或更慢?
答案 0 :(得分:2)
如果您对SQL Server特别感兴趣,下面的参考文章有点过时,但我想它可能仍然存在。
Using ODBC with Microsoft SQL Server
ODBC作为Native API的性能
关于ODBC的一直谣言是它本身比原生DBMS API慢。这种推理基于以下假设:必须将ODBC驱动程序实现为本机DBMS API上的额外层,将来自应用程序的ODBC语句转换为本机DBMS API函数和SQL语法。与将应用程序直接调用到本机API相比,此转换工作增加了额外的处理。对于通过本机DBMS API实现的某些ODBC驱动程序,这种假设是正确的,但Microsoft SQL Server ODBC驱动程序不是以这种方式实现的。
Microsoft SQL Server ODBC驱动程序是DB-Library的功能替代品。 SQL Server ODBC驱动程序以与DB-Library DLL完全相同的方式使用底层Net-Libraries。 Microsoft SQL Server ODBC驱动程序不依赖于DB-Library DLL,如果客户端上没有DB-Library,驱动程序将正常运行。
Microsoft的测试表明,基于ODBC和基于DB-Library的SQL Server应用程序的性能大致相等。
答案 1 :(得分:1)