您如何将 3 个 MySQL 数据库合并为 1 个数据库?
在同一台服务器上,我有三 (3) 个单独的网站,每个网站都有自己的 MySQL 数据库:
站点 1 --> 数据库 1,1 个表,16 个字段
站点 2 --> 数据库 2,1 个表,16 个字段
站点 3 --> 数据库 3,1 个表,16 个字段
所有三个数据库都具有相同的结构,因为每个数据库只有 1 个包含 16 个字段的表。在所有 3 个数据库中,表名相同 (Post_Data),所有 16 个字段都相同。索引字段(字段 11)被命名为 Post_Date。
每个表包含超过 1,000,000 个条目。
我正在创建带有 MySQL 数据库(database4、1 个表、16 个字段)的第 4 个网站,用作搜索站点,以执行显示来自其他 3 个数据库站点的结果的搜索查询。在第 4 个网站中,我目前正在运行一个脚本,该脚本分别查询所有 3 个数据库并组合结果。然后,我从结果中删除重复项。
我认为这是对所有 3 个数据库执行搜索查询的低效方式。我更喜欢只查询一个数据库,其中包含来自其他 3 个数据库的所有信息减去重复项。
我的问题是:
如何将 database1、database2 和 database3 中的所有三个数据库表合并到 database4 中的单个表中?此外,database4 需要每小时更新一次 database1、database2 和 database3 中的数据。我可以使用 cron 来执行更新。
我本质上是在寻找 PHP / MySQL 代码来执行此任务。
请记住,所有三个数据库中都会有重复的条目。换句话说,database1、database2 和 database3 可能都包含一些相同的条目,因此一旦将所有 3 个数据库表合并到 database4 中的单个表中,我就需要删除重复的条目。
由于这第 4 个网站本质上是可供任何网站访问者使用的搜索类型网站,因此我需要它具有快速的搜索响应,从而最大限度地减少服务器上的负载。我当前的搜索方法(同时查询所有 3 个数据库并组合结果)会影响每个搜索查询在所有 3 个网站上的服务器负载。
关注点:
Database4 不能包含来自 database1、database2 和 database3 的重复项。
我需要搜索站点具有快速的搜索响应,从而最大限度地减少服务器上的负载。
Database4 需要使用来自 database1、database2 和 database3 的数据每小时更新一次。我可以使用 cron 来执行更新。
我以前从未创建过搜索类型数据库。因此,我是否还需要在 database4 中加入一个额外的搜索索引字段?