当前位置: 首页 > 面试题库 >

PHP Mysql跨数据库联接

公冶宏深
2023-03-14
问题内容

可以说我在同一台物理服务器上有两个独立的数据库X和Y。

我的所有查询当前都用完了X。

我发现YI中有一张表想供X使用JOINS。

所以…现在,我在X和Y中都保留了同时需要X和Y的一个表的副本,但是Y中的数据一直在变化,因此该副本很快就过时了。对于这个应用程序来说并不重要,但是对于我现在正在设计的另一个应用程序来说,它根本就行不通。

X现在只需要对Y中的表的读访问权限。

有没有一种有效的方法可以在两个数据库之间进行联接?

我更喜欢mysql解决方案,而不是在php中打开多个数据库连接。

谢谢你。

编辑:那么这些行变成了什么?:

$conn = mysql_connect('localhost','username','password');
@mysql_select_db('database_name',$conn)

是的..这是一个旧的应用程序,因此是mysql而不是mysqli。假设我可以将其转换。

EDIT2:因此,在我未指定的地方,我database_name.table_name只是指定table_name我得到选择的内容,在我指定的地方,database.table_name我得到了我要求的东西..对吗?是的。作品。

EDIT3:进行跨数据库联接与在同一数据库内进行联接是否会对性能产生重大影响?没有。看起来一样快。

谢谢大家的答复。


问题答案:

编辑: 那么这些行变成了什么?:

$ conn = mysql_connect(’localhost’,’用户名’,’密码’); @mysql_select_db(’数据库名称’,$
conn)

mysql_select_db是可选的。因为它只是选择要使用的活动数据库。
http://us3.php.net/manual/zh/function.mysql-select-
db.php

是的..这是一个旧的应用程序,因此是mysql而不是mysqli。假设我可以将其转换。

恕我直言,我认为使用MYSQL与速度缓慢没有任何关系,从我自己的研究来看,MYSQLi与MYSQL并没有太大的速度提高。现实世界的测试并没有表明它是性能的主要推动力。老实说,我对所有应用程序都坚持使用MYSQL。



 类似资料:
  • 问题内容: 我在SQLAlchemy中找不到此简单查询的解决方案示例。SQLAlchemy可以替换T-SQL ETL数据吗? 我将此连接用于Windows身份验证: 问题答案: 您需要的是多部分架构名称。如果您使用的是声明式,则可以使用并使用它来执行查询。由于您省略了表或模型定义,因此我将根据您的查询示例生成示例:

  • 我正在尝试在table of数据库与table of数据库之间创建外键: 用户id int(10)未签名的编号 Id int(10)无符号编号 我创建了查询 "外键约束格式错误"有人能帮助我如何实现这一点吗?

  • 问题内容: 我有三个表:,,和。 该表包含类别的名称和其类别的ID 。 在包含两列:为这篇文章的ID和该职位的类别的ID。 该表包含有关后多列-如,等 我在网址中有一个名为parent_id的变量,它对应于一个类别。我想列出所有属于parent_id值类别的帖子(而不是类别)。 例如,假设parent_id值为5。每个帖子可能属于ID为20的类别,但该类别属于父类别(其ID为5)。我想列出所有属于

  • 本文向大家介绍详解数据库中跨库数据表的运算,包括了详解数据库中跨库数据表的运算的使用技巧和注意事项,需要的朋友参考一下 1. 简单合并(FROM) 所谓跨库数据表,是指逻辑上同一张数据表被分别存储在不同数据库中。其原因有可能是因为数据量太大,放在一个数据库难以处理,也可能在业务上就需要将生产库和历史库分开。而不同的数据库,可能只是部署在不同的机器上的同种数据库,也可能是连类型都不同的数据库系统。

  • 问题内容: 是否可以将触发器应用于MySQL中的跨数据库访问?如果是,请举一个例子。我的目的是如果在database1中插入/更新/删除了任何新数据,则在database2中插入/更新/删除数据。我正在使用MySQL 5.1 问题答案: 是的你可以。您可以创建一个过程并在触发器中调用它。程序示例: 然后创建触发器:

  • 我正在尝试创建一个数据库,然后在其中创建一个表。我使用docker-compose.yml在一个sql文件中编写了查询,以便与postgres图像一起使用 当我尝试使用docker compose build,然后使用docker compose up时,我得到一个错误 “psql:/docker entrypoint initdb.d/init.sql:18:错误:未实现跨数据库引用:“real