我有一个视图,它描述了另一个表的一些统计数据,例如:
create table people (
playerid INT not null auto_increment,
name VARCHAR(70),
primarykey (playerid)
);
create view personinfo_oranges (playerid, number_of_oranges) as
select playerid, count(orangeid) from oranges
...
;
不幸的是,person_info
看到的表中有大量数据(例如橙子),加载的视图非常慢。这显然是known issues with views。所以我创建了另一个表来存储一些人的数据(例如当他们对橘子过敏时):
create table person_summary (
playerid INT not null,
number_of_oranges INT,
foreign key (playerid) references players(playerid)
);
理想情况下,我想创建一个搜索person_summary
的视图,如果找不到,则查看personinfo_oranges
。我可以在我的模型层中执行此逻辑,但我如何在MySQL中执行此操作?