求助:同一个指标,在两个基础表里面,需要关联,不用union,该怎么办?谢谢!

pargy 发布于 2018/03/30 09:13
阅读 234
收藏 0

求助:业务信息表,只有人员代码,人员基础表,是分为两张表的,一张是老师表,一张是学生表。由于学生表记录数太多,上几百千万条,所以如果采用union的办法来合并为1张表进行关联的话,查询的效率会很慢。

请教高手:如何才能不使用union并表的方法,实现一对二的关联。另外:rydm有个特征,A开头的,适用于老师表,B开头的,适用于学生表。谢谢!

 

xx表    
rydm cs  
A03 2  
B01 5  
A01 8  
B02 4  
     
A表    
rydm xm  
A01 张老师  
A02 李老师  
A03 王老师  
     
B表    
rydm xm  
B01 学生赵  
B02 学生周  
B03 学生郑  
…… 上千万条记录
     
需要的结果表  
rydm xm cs
A03 王老师 2
B01 学生赵 5
A01 张老师 8
B02 学生周 4
加载中
0
DeMoNHaDeS
DeMoNHaDeS

并表当然用union,查询效率慢并不在于使用了union吧

0
雪梨苹果
雪梨苹果

就是用 union ,从sql来说这已经不算慢了。

想加快速度,你应该从cache方面下手,例如memcached或者redis,这才是正道。

0
月之舞步
月之舞步

你这个并表的话,你学生表不加限制条件的话,怎么并都是全表扫描,所以就用union,然后看你具体需求对学生表或者老师表进行查询条件限制就好。想加查询速度,加缓存就好。

返回顶部
顶部