0

我想知道在每次调用站点的每个页面时在 2 个数据库之间切换的速度会有多慢。该站点为不同的客户提供了许多不同的数据库,以及用于一些常规设置的“全局”数据库。我想知道如果每个脚本必须连接到数据库、选择一个数据库、执行查询或 2、切换到另一个数据库然后完成页面生成,是否会为每个脚本的执行添加很多时间。我也可以在每个数据库中重复数据,我只需要维护它(只会在升级时改变)。

那么,到底有多快mysql_select_db()

编辑:是的,我可以单独连接到每个数据库,但由于这通常是任何 PHP 脚本中最慢的部分,我想避免这种情况,尤其是因为它在每个页面上。(这很慢,因为 PHP 必须进行某种地址解析(无论是 IP 还是主机名),然后 MySQL 必须两次检查登录参数。)

4

2 回答 2

7

假设两个数据库在同一台机器上,则不需要执行 mysql_select_db。您可以在查询中指定数据库。例如;

SELECT * FROM db1.table1;

您还可以打开两个连接并使用从连接调用返回的 DB 对象,并使用这两个对象来选择数据库并传递给所有调用。数据库连接是所有 mysql db 调用的可选参数,只需检查文档。

于 2008-11-04T22:00:34.347 回答
1

你问的是两个完全不同的问题。

  1. 连接到多个数据库实例

  2. 切换默认数据库模式。

众所周知,MySQL 的连接建立时间非常快;对不同的服务器进行两次mysql_connect()调用几乎不比一次更昂贵。

该调用与语句mysql_select_db()完全相同USE,只是更改了不合格表引用的默认数据库模式。

在 MySQL 周围使用术语“数据库”时要小心:它有两种不同的含义。

于 2008-11-05T01:34:22.823 回答