有条件地使用MySQL执行子查询

时间:2015-07-23 17:08:36

标签: mysql optimization

我有一个视图,它描述了另一个表的一些统计数据,例如:

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中执行此操作?

0 个答案:

没有答案