怎么把 MySQL 多个表当作一个表查询?

2014 年 7 月 3 日
 displayabc
我有100张结构相同的表,只是数据不同,我怎么能把这100张表当作一张表来查询?
4947 次点击
所在节点    MySQL
12 条回复
robertlyc
2014 年 7 月 3 日
多态
displayabc
2014 年 7 月 3 日
@robertlyc 我是指在写SQL的时候
plprapper
2014 年 7 月 3 日
既然做了分表切分 必然是限定不存在跨表 group by order by 一类的需求 。
不知道LZ 是要打破这个界限呢 ,还是说 如果抽象DAO REPO层 一类的需求呢。
sivacohan
2014 年 7 月 3 日
你是要view吧?
ipconfiger
2014 年 7 月 3 日
map-reduce
dong3580
2014 年 7 月 3 日
存储过程或者view,推荐存储过程,view的话每次都要更新,浪费。
Navee
2014 年 7 月 3 日
视图
create view v_table as
select t1.* from table1 t1
union all
select t2.* from table2 t2;

select * from v_table;

你要的是这样的吧?
displayabc
2014 年 7 月 3 日
@Navee 但是有些数据是重复的,比如每个表里都有id,这在每个表里都是自增的
Navee
2014 年 7 月 3 日
@haython 查询视图的时候加上rownum就行了吧.
Navee
2014 年 7 月 3 日
@dong3580 很想知道存储过程怎么实现这个.
qqjt
2014 年 7 月 3 日
唔,合成一个表不好么
wingoo
2014 年 7 月 3 日
一些基本的业务都没说
1.分表的时候你有按照一定规则吧?
2.你的查询条件是什么,和分表规则有无关联

如果关联很少,可以构建些 冗余信息/冗余表 来记录这些信息
或者干脆别拆。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/120779

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX