【问题标题】:Persistent connection to MYSQL without mysqli_pconnect在没有 mysqli_pconnect 的情况下持久连接到 MYSQL
【发布时间】:2011-05-29 00:48:24
【问题描述】:

我在本地机器上有一个数据库,它被尽可能快地重复查询。 目前我在每个查询之前执行mysql_real_connect(),然后在之后执行mysql_close()。由于速度至关重要,因此连接和重新连接会产生不可接受的开销。

我做了一些研究,发现了一个mysqli 命令来创建一个持久连接(mysqli_pconnect)。不幸的是,我没有使用 PHP(我正在使用 FreePascal/Lazarus 中的 mysql50 库)并且 mysqli 库对我不可用;我必须接受标准的mysql_* 命令。

有人有解决办法吗?

【问题讨论】:

  • 这是一个基于 Web 的应用程序,还是作为常规系统可执行文件运行的应用程序?如果它是常规可执行文件,请不要调用 close()
  • 它是一个常规的可执行文件。我已经尝试消除mysql_close(),但如果我这样做了,我会在发送下一个查询时遇到读取访问冲突。
  • 您可能不得不关闭前一个查询,但 mysql 库没有理由不允许您重用句柄。否则像临时表和服务器端变量之类的东西是不可能的。
  • 对以前的查询执行mysql_free_result() 以关闭它们,这应该为另一个查询释放句柄。
  • 当你说“关闭前一个查询”时,你指的是什么命令?另外,我已经阅读了有关将 mysql_options() 设置为 CLIENT_RECONNECT 的信息 - 但这似乎不是正确的事情。

标签: mysql persistence mysqli mysql-connector


【解决方案1】:

试试这个,我认为它可能会有所帮助

mysqli_connect("p:".$host, $user, $password)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 2023-04-03
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 2020-10-12
    相关资源
    最近更新 更多