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

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

select * from v_table;

你要的是这样的吧?
haython
2014-07-03 14:15:13 +08:00
@Navee 但是有些数据是重复的,比如每个表里都有id,这在每个表里都是自增的
Navee
2014-07-03 14:47:05 +08:00
@haython 查询视图的时候加上rownum就行了吧.
Navee
2014-07-03 14:47:22 +08:00
@dong3580 很想知道存储过程怎么实现这个.
qqjt
2014-07-03 15:30:22 +08:00
唔,合成一个表不好么
wingoo
2014-07-03 15:39:23 +08:00
一些基本的业务都没说
1.分表的时候你有按照一定规则吧?
2.你的查询条件是什么,和分表规则有无关联

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

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

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

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

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

© 2021 V2EX