ODBC调用SQLFetch与SQLFetchScroll

时间:2015-11-20 15:16:44

标签: c++ c odbc

使用SQL_API SQLFetchScroll超过SQL_API SQLFetch是否有任何性能提升?我正在处理性能问题(需要从数据库加载太多数据)并发现应用程序使用SQLFetch,即一次提取单行。为什么我在这里发布这个问题因为似乎要在SQLFetchScroll中实现块游标,游标库会在驱动程序中重复调用SQLFetch并返回缓存数据。这是msdn link。如果有人已经实施SQLFetchScroll,请分享性能编号。实际上,我正在尝试其他一些方法来加快速度,没有时间尝试这一点。我相信很多人已经完成了它并实施它不会是一件大事。

1 个答案:

答案 0 :(得分:0)

我最近有几个人问我这个......

如果您通过多次调用SQLFetch来使用模拟SQLFetchScroll操作的游标库,那么您可能无法看到性能优势。

但是,如果您正在使用一个通用的SQLFetchScroll驱动程序,您将看到性能提升。我将使用Progress DataDirect驱动程序运行一些实验并更新我的帖子......我还会将测试代码发布到GitHub(虽然我可能会很慢)。与此同时,以下是一些参考,以备份我的声明,但没有提供有关性能数字的指导。

http://media.datadirect.com/download/docs/odbc/allodbc/help.html#page/odbc%2Fusing-sqlextendedfetch-instead-of-sqlfetch.html

https://www.amazon.com/Data-Access-Handbook-Application-Performance/dp/0137143931