在不同主机上的不同数据库上创建视图

时间:2012-12-06 22:00:53

标签: mysql

是否可以从两个不同数据库的表创建视图?像:

creative view 'my_view' as
  select names as value
  from host_a.db_b.locations 
  union 
  select description as value 
  from host_b.db_b.items;

他们目前是不同的数据库引擎(MyISAM和InnoDB)。

事先提前

1 个答案:

答案 0 :(得分:0)

是的,您需要使用您的查询访问远程表via the FEDERATED db engine,然后create a view

然而,这是解决问题的一种相当混乱的方式 - 特别是(从您的示例查询中)您的数据被有效地分片。

此结构不允许在视图上进行更新/插入。即使对于updatable/insertable view,我的直觉是如果你尝试除了自动提交事务之外的任何事情,你会遇到问题,特别是当你混合表类型时。我建议将复制视为解决问题的更好方法。