两个数据库服务器
在其中一个建了FEDERATED 引擎表,来联合查询,是可以的。
但那性能,惨不忍睹。
在网上查了一下,所说FEDERATED引擎不但无法使用索引,而且是把所有数据拿到本地再进行筛选?
Workbench下观察了一下Output, 有时候查询是很快的,Fetching 花费了巨量时间。这种情景 有什么别的解决方案吗?

解决方案 »

  1.   

    跨库是没什么优化空间吧;
    可以考虑利用多源主从复制把A,B两个服务器的数据同步到C服务器里面,然后在C服务器里面跨库查询,不过数据不能保证是实时的。
      

  2.   

    跨库因各种原因,性能超差。我自己也遇到过需要跨库访问的情况。一般情况下,我用以下两种:
    1. link server , 将需要关联的B数据库link到A这边来作为数据库S,查询的话,只在A, S(同一服务器上的不同库)中查询即可。
    2. Replication, 利用发布订阅,将B数据库复制到A数据库所在的服务器上作为S, 查询的话,在同一台服务器的不同DB之间进行查询。
      

  3.   

    我这边的项目是做的dblink解决这个问题
      

  4.   

    用spider引擎
      

  5.   

    https://github.com/alibaba/canal  可以尝试一下这个