-1

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

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)。

提前谢谢

4

1 回答 1

0

是的,您需要通过 FEDERATED db engine访问远程表,然后使用您的查询创建一个视图。

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

此结构不允许在视图上进行更新/插入。即使对于可更新/可插入的视图,我的直觉是,如果您尝试自动提交事务以外的任何操作,尤其是在混合表类型时,您会遇到问题。我建议将复制视为解决问题的更好方法。

于 2012-12-06T22:44:59.793 回答