gpt4 book ai didi

mysql.h 持久连接

转载 作者:行者123 更新时间:2023-11-29 01:30:30 25 4
gpt4 key购买 nike

是否可以通过 MySQL C API 获得持久连接,like those PHP provides ?如果是,怎么办?

最佳答案

MySQL C API 没有持久连接特性,因为它不需要它。您通过它创建的所有连接都是持久的。也就是说,只要您的程序运行,它们就会一直存在,除非您主动关闭它们或服务器丢弃它们。

PHP 需要持久连接的唯一原因是它是 HTTP 工作方式的产物。 PHP 最初是一个 CGI program ,因此网络服务器将为每个 HTTP 请求重新启动一切,包括任何数据库连接。这非常耗时,因此他们创建了 mod_php ,现在几乎每个使用 PHP 的人都使用它。 HTTP 的无状态特性仍然要求您的 PHP 脚本在每次请求时重新启动,但是因为 mod_php 保持加载在 Apache 实例中,它可以做一些事情,比如保持 MySQL 数据库连接打开,以供下一个需要它的 PHP 脚本使用。

所有这些都引出了一个问题,为什么您认为您需要持久的数据库连接?您是否在每次需要时重新启动 C 程序?如果是这样,修复它可能是您需要做的,而不是寻找“缺失的”C API 功能。例如,如果您正在用 C 编写 Web 应用程序,您可以 rework it as an Apache module ,就像独立的 CGI PHP 变成了 mod_php 一样。

但是,永远记住:

"The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet."

— Michael A. Jackson

在拥有之前进行优化 benchmarkedprofiled你的程序是愚蠢的。向我们展示您的设计和测量结果,然后询问可以做什么。不要先去寻求技术修复。设计修复可能会有更多帮助。

关于mysql.h 持久连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com