我想知道在一个网站的每个页面的每次调用中,在2个数据库之间切换会有多慢。该网站为不同的客户端提供了许多不同的数据库,还有一个用于某些常规设置的"全局"数据库。我想知道,如果每个脚本必须连接到数据库,选择一个数据库,进行查询或2,切换到另一个数据库然后完成页面生成,那么执行每个脚本是否会增加很多时间。我也可以在每个DB中重复数据,我只需要维护它(只会在升级时更改)。
那么,mysql_select_db()
到底有多快呢?
编辑:是的,我可以分别连接到每个数据库,但由于这通常是任何PHP脚本中最慢的部分,我希望避免这种情况,尤其是因为它在每个页面上。(这很慢,因为PHP必须进行某种地址解析(无论是IP还是主机名),然后MySQL必须两次检查登录参数。)
假设两个数据库都在同一台机器上,则不需要执行mysql_select_db。您只需在查询中指定数据库即可。例如
SELECT * FROM db1.table1;
您还可以打开两个连接,使用连接调用返回的DB对象,并使用这两个对象来选择数据库并传递到所有调用中。数据库连接是所有mysqldb调用的可选参数,只需检查文档即可。
您提出了两个完全不同的问题。
-
连接到多个数据库实例
-
正在切换默认数据库架构。
众所周知,MySQL具有相当快的连接建立时间;对不同的服务器进行两次CCD_ 2调用的成本几乎不比一次高。
调用mysql_select_db()
与USE
语句完全相同,只是更改不合格表引用的默认数据库模式。
在MySQL中使用"数据库"一词时要小心:它有两个不同的含义。