欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql多表连查,与此同时查询n个表的内容

更新时间: 2014-01-05 02:32:01 责任编辑: Author_N1

 

SQL多表连查,同时查询N个表的内容
 现在我数据库中每天会自动生成一张表,表的命名规范是固定字符加日期格式,如:
red_20110928,
red_20110929,
red_20110930,
red_20111001,
red_20111002,
red_20111003,
red_20111004,
red_20111005
......

现在我想根据时间段来查询表中的数据,而条件时间(regtime时间字段)段是可以随便选择的,比如:
 regtime  between '2011-09-29 11:10:40' and '2011-10-03 11:10:40' 

求各位高手帮忙,急需!
--参考方法--
SELECT * FROM (
SELECT * FROM red_20110928
UNION ALL
SELECT * FROM red_20110929
UNION ALL
....
SELECT * FROM red_20111005)  A 
WHERE regtime between '2011-09-29 11:10:40' and '2011-10-03 11:10:40'
--参考方法--
这种情况,不建议分表。

如果担心数据量过大,则应该使用分区表。


如果无法改变目前表的这种设计。 则

方法一: 每天增加一个新表的同时,把这个表加入到视图中  select * from (select * from t1 union all select * from t2 .... ) 但即使是视图中,你的SQL语句长度仍然是受限制的。总有一天,你没办法加表了。

方法二:使用MERGE存储引擎,类似于视力,但查询效率相对高一点儿。 同样会有限制。


建议还是使用分区表。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:32:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11039/
本文WWW.DOC100.NET DOC100.NET版权所有。