我知道pyodbc是一个较旧的项目,可能更具特点和健壮性,但是它的设计(基于编译后的C代码的组件)是否会使它比纯Python实现更可取,例如pypyodbc?
我做了很多ETL工作,并考虑从Linux/jython/jdbc方法切换到Windows/cygwin/python/odbc方法。
最佳答案
用C写的pyodbc
比pypyodbc
的潜在优势是:
速度-见the pypyodbc wiki comparison
更保守的内存使用
用python编写的pypyodbc
比pyodbc
的潜在优势是:
不太可能包含C指针问题
稍微不太可能包含内存分配问题
维护更简单;高级语言意味着代码行更少
如果不存在编译问题(需要为单独版本的Python、平台等单独构建),安装起来要容易得多。
成熟的优势:
更少的bug
更全面的功能覆盖
更好地处理角箱
成熟的事情在很大程度上取决于pyodbc
没有问题。根据我的经验,这是不正确的,它有一个fair number of memory leak错误等,并看到这个答案的评论-有证据表明pyodbc
可能是相当有问题的。
作者的主张是,pypyodbc
是对python中的pyodbc
代码的重新实现,这意味着特性覆盖应该是等效的。不过,在新代码中,可能有一些角落案例的尝试较少。
免责声明:我还没有尝试pypyodbc
关于python - pyodbc比pypyodbc有任何设计优势吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14463591/