我知道pyodbc是一个较旧的项目,可能更具特点和健壮性,但是它的设计(基于编译后的C代码的组件)是否会使它比纯Python实现更可取,例如pypyodbc
我做了很多ETL工作,并考虑从Linux/jython/jdbc方法切换到Windows/cygwin/python/odbc方法。

最佳答案

用C写的pyodbcpypyodbc的潜在优势是:
速度-见the pypyodbc wiki comparison
更保守的内存使用
用python编写的pypyodbcpyodbc的潜在优势是:
不太可能包含C指针问题
稍微不太可能包含内存分配问题
维护更简单;高级语言意味着代码行更少
如果不存在编译问题(需要为单独版本的Python、平台等单独构建),安装起来要容易得多。
成熟的优势:
更少的bug
更全面的功能覆盖
更好地处理角箱
成熟的事情在很大程度上取决于pyodbc没有问题。根据我的经验,这是不正确的,它有一个fair number of memory leak错误等,并看到这个答案的评论-有证据表明pyodbc可能是相当有问题的。
作者的主张是,pypyodbc是对python中的pyodbc代码的重新实现,这意味着特性覆盖应该是等效的。不过,在新代码中,可能有一些角落案例的尝试较少。
免责声明:我还没有尝试pypyodbc

关于python - pyodbc比pypyodbc有任何设计优势吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14463591/

10-12 17:00