我将使用C库连接和使用PostgreSQL数据库,我想知道ODBC和Libpq的优缺点是什么。 据我所知,libpq似乎更快,但我无法获得任何明确的答案或基准。
还有,还有其他任何可能比ODBC / Libpq更好的库。
如果您想要一个为不同数据库使用类似API的标准适配器,ODBC非常有用。 我个人认为这是一个糟糕的API,但它被广泛理解和记录良好。
libpq更直接地与PostgreSQL交谈。 您可以使用它获得更好的性能,但可能还不够,它会对大多数应用程序产生任何影响,这些应用程序会花费时间在查询执行,网络延迟等方面,而不是在客户端库中。
较新版本的psqlODBC构建在libpq上,并作为libpq的ODBC包装器。
还有libdbi,它提供了比ODBC更可怕的API。
为了完整起见,还有服务器后端SPI,可以由用C编写并加载到PostgreSQL服务器中的用户定义函数使用。 它在服务器扩展和function之外没用。
哦,还有ecpg。 不要使用ecpg。 它是一种超级遗留的语言集成SQL工具,主要用于从某些其他数据库引擎轻松移植。 不要使用ecpg。 真。
对于C ++,有QtSQL接口(不同寻常的Qt,它很糟糕且非常有限,不要使用它)和libpq ++(好但很大程度上没有维护)。
我个人直接写libpq代码,但那是因为我正在处理通常进入PostgreSQL的代码。 如果您无法想象除了PostgreSQL之外的任何目标,您可能想要编写libpq代码; 否则可能使用ODBC与psqlODBC。
ODBC通用主要是MS Windows数据库访问接口。 Libpq是本机PostgreSQL客户端接口。 如果您不需要通用接口,请不要使用ODBC。 它是老式的不友好设计的图书馆,高度复杂。 libpq没有任何优势。
以上就是c/c++开发分享ODBC v Libpq:PostgreSQL的C库相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/562416.html