表的分区的用处?

zysea 2001-09-09 12:35:16
有一明细表增长较大,以前为了加快处理速度将表分年保存,请问用了表的分区功能以后
,可以只用一个表保存多年的数据表吗?这样做会比分年保存数据慢吗?(MS SQL)
另:
若在此明细表中插入数据时需修改其它的一些表的数据,做成触发器和在客户端写程序,
哪一种效果好?
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zysea 2001-09-10
  • 打赏
  • 举报
回复
若靠程序将大表分布处理,则写起来较复杂,不知有谁用过分区功能来解决这种问题的。
能不能详细解释一下。
leeyoong 2001-09-09
  • 打赏
  • 举报
回复
楼上说的有道理!

当对某个流水表操作相当频繁时,为了录入和查询的效率,增加一个临时过渡表,通过定时或事件触发的形式,将其内容转入大表,同时清空临时表,统计数据只需从大表中来,而不会影响日常的操作录入。而对于不同性质的流水记录,可以相应地再采取一些事先汇总的方式,按某种要求生成一些汇总表,也可以大大地提高统计分析的速度。

另外,触发器在执行效率和维护数据一致性方面都要远强于客户端程序!
zzh 2001-09-09
  • 打赏
  • 举报
回复
如果表的数据量比较大,可以通过两种方式来实现,一是把表放在多个数据库中,这样可以减少数据访问量,对服务器的性能会有较大的提高,当然,如果这些数据在插入后不怎么需要处理的时候就可以放入历史表,在历史表中建立索引,这样查询就比较方便,而对于临时表,主要用来放插入的数据,这些数据可能要查询,修改等操作。如果表中数据比较大,超过100万条,还是多分成几个表比较好,你可以一个星期或一个月放为一个表,使用程序来创建表,这样在插入数据时就只需要通过触发器来更新其它数据了,而这只会涉及到临时表,这样比较好,对这些数据的修改也只涉及临地表,别的历史数据都不会有影响,查询会比较快。
Functions 2001-09-09
  • 打赏
  • 举报
回复
以前只知道在MSSQL2000中,表的分区可以使用服务器群集,不知道还有这个功能。能不能详细介绍一下?

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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