请教将1个大表分成N个小表的问题 我这有个表record,有600多万记录了,查询和更新都比较慢。所以,我想把这个表按月份分成N多个小的表,像record200901、200902、200903等等等,分是分出来了,但每个月都会生成新的表,怎么来建个视图来显示整个record表呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 每月做一个作业计划就可以了,查询系统表 like 'record2009%' 的所有表 ,拼成一个字符串union all CREATE VIEW RECORD_VIEW ASSELECT * FROM record200901UNION ALLSELECT * FROM record200902--UNION ALL--... 用动态SQL吗?意思就是到当前月份为止?参考如下怎么获取所有月份,然后动态组合你的SQL语句.declare @dt1 as datetimedeclare @dt2 as datetimeset @dt1 = '2008-01-01'set @dt2 = getdate()select convert(varchar(6),dateadd(mm,num,@dt1),112) dtfrom (select isnull((select count(1) from sysobjects where id<t.id),0) as num from sysobjects t) awhere convert(varchar(6),dateadd(mm,num,@dt1),112)<=convert(varchar(6),@dt2,112)order by dt/*dt ------ 200801200802200803200804200805200806200807200808200809200810200811200812200901200902200903200904200905200906200907200908200909200910200911200912201001201002201003201004201005201006201007201008201009201010201011201012(所影响的行数为 36 行)*/ 我想分出来还有另外一个意义,就是大量的insert都在一个非常小的表里,这样会比较快一点。 Sql Server备份数据库是提示:已添加了具有相同键的项。 等考的一道题求解答 文件组是什么意思 两表关联更新问题 非常重要!谢谢!!!请问在sql中,不用某一字段的名字而用某一列的序号,可不可以实现? 关于分发数据库的问题!期待高手回复,在线等。。 非常简单的sql语句 求一SQL语句! 读取excel文件问题 安装什么样的版本? belong多级查询语句问题 简单的问题
AS
SELECT * FROM record200901
UNION ALL
SELECT * FROM record200902
--UNION ALL
--...
意思就是到当前月份为止?
参考如下怎么获取所有月份,然后动态组合你的SQL语句.
declare @dt1 as datetime
declare @dt2 as datetime
set @dt1 = '2008-01-01'
set @dt2 = getdate()select
convert(varchar(6),dateadd(mm,num,@dt1),112) dt
from
(select isnull((select count(1) from sysobjects where id<t.id),0) as num from sysobjects t) a
where
convert(varchar(6),dateadd(mm,num,@dt1),112)<=convert(varchar(6),@dt2,112)
order by dt/*
dt
------
200801
200802
200803
200804
200805
200806
200807
200808
200809
200810
200811
200812
200901
200902
200903
200904
200905
200906
200907
200908
200909
200910
200911
200912
201001
201002
201003
201004
201005
201006
201007
201008
201009
201010
201011
201012(所影响的行数为 36 行)*/