首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

一个查询的性能有关问题

2013-06-19 
一个查询的性能问题需求:有20张表,每张表都有一个学生姓名字段,在每个表中,每个学生姓名可能有多条数据。现

一个查询的性能问题
需求:
有20张表,每张表都有一个学生姓名字段,在每个表中,每个学生姓名可能有多条数据。现在我要在一个网页上显示某个学生名字在这20张表中信息出现的次数。
如果我拿着姓名分别去查20张表,那么一个学生就需要执行20次数据库查询,如果每个页面显示50个学生信息,也就是说要执行1000次的查询。这样效率太低,所以请各位大神支支招,有没什么好的办法。
一个查询的性能有关问题
[解决办法]

引用:
Quote: 引用:

你的设计就是不合理的。
 部分同意这种观点,因为没有具体需求也不能说就一定是不合理

这个方法你试一下 
SELECT TABTYPE,XM COUNT(1) FROM 
(
  (SELECT 'T1' TABTYPE,T1.XM XM FROM T1,S WHERE T1.XM=S.XM) UNION ALL
  (SELECT 'T2' TABTYPE,T2.XM XM FROM T2,S WHERE T2.XM=S.XM) UNION ALL
  (SELECT 'T3' TABTYPE,T3.XM XM FROM T3,S WHERE T3.XM=S.XM) UNION ALL
  ...
)
GROUP BY TABTYPE,XM

少个逗号 SELECT TABTYPE,XM, COUNT(1) FROM 

热点排行