gpt4 book ai didi

php - 多个数据库只使用一个 $dbh?

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

如果您在同一台主机上有两个数据库,一个叫blog,一个叫forum,似乎只用一个数据库句柄就可以访问这两个数据库? (在 PDO 中)

$dbh=new PDO("mysql:host=$dbHost;dbname=博客", $dbUser, $dbPassword);

此句柄用于数据库blog,尽管您也可以使用$dbh 在forum 上执行操作

SELECT 网站.tableName.fieldName

我的问题是:

  1. 您必须在 $dbh 中指定 dbname 才能让您省略 blog.tableName.fieldName 部分吗?

  2. 由于我的网站有两个数据库,只使用一个数据库句柄而不是创建两个句柄(显然一个用于 blog 一个用于 有什么优点或缺点论坛)?可能的性能差异?

  3. 创建数据库句柄会消耗服务器资源吗?

最佳答案

  1. 在您制作的任何应用程序上保留特定于数据库的用户通常是一种很好的做法。我什至可以称之为必要性。这就是在连接中保留必要的数据库名称的原因。 (提示这背后的原因:如果有人以某种方式获得了一张表的 dbms 密码怎么办?)
  2. 我不是很擅长这个,但我认为在一个可以的情况下保留两个独立的数据库并不是一个好主意。就像你的情况一样,你没有使用主从或任何东西。因此,除非您试图弥补一些物理限制,否则请将它们放入 1 个数据库(为表名使用前缀以避免名称冲突)
  3. 前一点的原因与这一点有关。为数据库保留一个用户,或者有些人甚至出于奇怪的和某种程度上合理的原因保留两个用户是您应该遵循的安全措施。对于多个用户,您需要建立多个连接,这意味着对于每个页面加载,您将连接到 dbms 两次!简单的数学运算 2 倍负载(是的,它会消耗资源,每一行代码都会消耗资源)简化它,想想一个需要步行到杂货店购买你想要的一切的人,一次只得到一件东西。如果你给他 2 家不同的杂货店,他将需要两倍的时间和精力来完成同样的工作。

关于php - 多个数据库只使用一个 $dbh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934200/

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