【发布时间】:2017-05-29 12:12:08
【问题描述】:
我有一个 php 脚本,它通常会在单个 MySQL 查询(数据库 A)中检索大约 200 条记录,并且在处理查询返回的每条记录时,它需要在另一个数据库(数据库 B)中查找一个值- 通常有 500 条记录。
这是最好的方法吗? - 对数据库 A 查询循环中的每个提取记录单独查询数据库 B,或者通过单个查询将数据库 B 中的所有值拉入一个数组,然后在行提取循环中从数组中读取所需的值。或者有没有更好的方法?非常感谢这里的任何指导。谢谢。
【问题讨论】:
-
单独的数据库是否也意味着单独的mysql实例,或者两个数据库由同一个mysql实例托管?
-
一次读取(单个查询)应该更快。
-
了解联邦存储引擎 (dev.mysql.com/doc/refman/5.7/en/federated-usagenotes.html),它允许您跨数据库链接表。
-
@NigelRen 联合表引擎用于连接来自不同 mysql 实例的表,而不仅仅是来自不同数据库的表。如果数据库托管在同一个实例中,则不需要联合表。
-
在我们知道数据库在哪里之前,我只想添加选项。