gpt4 book ai didi

php - 每个 PHP 应用程序的良好做法是同时打开两个 MySQL 连接吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:22:14 26 4
gpt4 key购买 nike

我的 PHP 代码允许用户以只读用户执行任意 SQL 代码。它还需要访问具有写入能力的用户。我的代码在“可写用户”中执行命令,然后使用单独的连接使用“只读用户”查询数据库。然后它再次使用“可写用户”进行查询并退出脚本。

它使可写用户的连接保持打开状态,同时执行只读用户的查询。据我所知,这是最好的方法,但我的大学担心这在某种程度上是 MySQL 的不良做法,并希望关闭具有写入能力的用户的连接并稍后重新打开它(大概是因为它使与MySQL。)执行此操作的最佳方法是什么?

whats more efficient and why: one db connection per page or one db connection per function?说“通常创建数据库连接的成本很高。”

最佳答案

whats more efficient and why: one db connection per page or one db connection per function? says that "Typically database connections are expensive to create."

我会质疑这种说法。对于某些数据库来说可能是正确的,但不一定对所有数据库都是正确的。众所周知,MySQL 在创建连接时非常轻量级,在使用本地 unix 域套接字时更是如此。

更有趣的是:如果你使用一个需要连接不变的功能怎么办?就像插入数据集然后选择 LAST_INSERT_ID()?如果您使用只读连接,这将不起作用。

虽然我确实认为使用只读用户帐户有利于安全,但只有当它是脚本中使用的唯一帐户时才有意义。否则,你会以某种方式根据查询的类型决定使用什么连接——如果你自动使用正确的连接来读取或写入,从安全角度来看,使用两个连接是没有意义的。

此外,如果 SELECT 转到不同的连接,您将无法在事务期间使用 SELECT 语句。

总而言之:使用多个连接来完成一个连接也可以做的事情似乎是一个坏主意 - 除非你能给出更多的理由。

再次阅读您的问题,我偶然发现了您的特殊原因:您执行任意 SQL 语句。这样一来,使用受限帐户才真正有意义。打开和关闭等待的可写连接也没有意义。这样做的唯一原因是数据库服务器达到他配置的并发连接限制。

关于php - 每个 PHP 应用程序的良好做法是同时打开两个 MySQL 连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370354/

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