数据库如何分流,自认为是牛人的就请进

liqianhong 2004-01-16 10:22:43
假设有A,B两个表
必须将A表中半年前的数据分流出去
必须将B表中半年前的数据分流出去

查询用到AB两个表的数据
有几种查询
查询A:经常查本月数据,但有可能查询半年前的数据
查询B:只查询本月的数据
查询C:只查询历史数据

请帮忙寻找几种数据分流的思路,
如是建视图供查询使用,请说明视图的建立方案
...全文
198 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2004-01-17
  • 打赏
  • 举报
回复
本不敢进来的,鼓足勇气来看看牛人长什么样子。
liqianhong 2004-01-17
  • 打赏
  • 举报
回复
分区视图就是实现动态创建视图和表稍微有点麻烦
还有没有其他方法呢?
realgz 2004-01-17
  • 打赏
  • 举报
回复
帮你up。
sunluo 2004-01-17
  • 打赏
  • 举报
回复
不赞成 zjcxc(邹建) 的 每半年创建一个表.表名为:固定名+年月
这样存储过程中所在完成的处理随着时间效率会变得越来越差!
sunluo 2004-01-17
  • 打赏
  • 举报
回复
1、如 1ssp(新来的) 所述:建立 a流通表,a流通历史表,b流通表,b流通历史表
2、定义作业,每月将半年前的数据移至流通历史表
3、用存储过程查询,在存储过程中,你可以任意按你的需求分类进行查询,具体什么时候应该去哪个表查,结合你的情况,在存储过程中完全可以实现!(不要说三种,就是三十种都可以,当然,多了就要考虑到效率问题)

这样你的 流通表 数据不多,查询速度快;流通历史表 数据量非常大,能查,但速度慢,不过问题还是解决了嘛!
jetbike 2004-01-17
  • 打赏
  • 举报
回复
To 楼主:1.有个问题不是很明白, A,B 表是什么内容,有否联系?2.B,C两个要求综合起来,不久是A的要求吗
dlkfth 2004-01-17
  • 打赏
  • 举报
回复
一共就两种大家都说了
btlxy 2004-01-17
  • 打赏
  • 举报
回复
本人支持zjcxc(邹建) :
不过我认为建立几个相应历史表就可,每必要每半年创建一个表
1ssp 2004-01-16
  • 打赏
  • 举报
回复
本人认为:
应该这样建表:a流通表,a流通历史表,b流通表,b流通历史表
做一个计划,每天把过期的数据(满半年的数据)从流通表写入流通历史表.
查询时根据需要选择你的表.


zjcxc 2004-01-16
  • 打赏
  • 举报
回复
--存储过程中可以动态控制控制得到嘛.
fanmb 2004-01-16
  • 打赏
  • 举报
回复
關注,收藏
realgz 2004-01-16
  • 打赏
  • 举报
回复
楼主的问题很牛!!!今天最牛的,虽然不如宝马牛。

ps:我是搬凳子来等着看牛人的。
liqianhong 2004-01-16
  • 打赏
  • 举报
回复
我们的目标是:查询最近数据方便,速度快
又能查询以前的数据慢点没关系,但能查得到。

如是视图最好还能修改,不能修改也没关系
zhaoloudy 2004-01-16
  • 打赏
  • 举报
回复
支持分区视图的方法
分区视图在一个或多个服务器间水平连接一组成员表中的分区数据,使数据看起来就象来自一个表。Microsoft® SQL Server™ 2000 区分本地分区视图和分布式分区视图。在本地分区视图中,所有的参与表和视图驻留在同一个 SQL Server 实例上。在分布式分区视图中,至少有一个参与表驻留在不同的(远程)服务器上。此外,SQL Server 2000 还区分可更新的分区视图和作为基础表只读复本的视图。
liqianhong 2004-01-16
  • 打赏
  • 举报
回复
建立视图时 表200301 和 表200302的顺序有没有关系
假如我经常查 表200302 的数据,较少查询表200301的数据
应怎么建立
liqianhong 2004-01-16
  • 打赏
  • 举报
回复
满足查询A的条件吗?效率如何?
zjcxc 2004-01-16
  • 打赏
  • 举报
回复
每半年创建一个表.表名为:固定名+年月

用存储过程来查询.

根据要查询的起始年月,可以确定要查询的开始的表名
根据要查询的结束年月,可以确定要查询的结束的表名

然后生成类似下面的查询语句就行了.

select * from(
select * from 表200301
union all
select * from 表200302
) a

Jianli2004 2004-01-16
  • 打赏
  • 举报
回复
不是牛人,一旁观看
liqianhong 2004-01-16
  • 打赏
  • 举报
回复
to:1ssp(新来的)
倒数据虽是一个可行的方法,但是不方便查询
caiyunxia 2004-01-16
  • 打赏
  • 举报
回复
OR
建立JOB,将3个月前的数据删除并插入到历史表,并建立统计数据
加载更多回复(2)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧