首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sybase ASE :表分区

Sybase ASE :表分区
EN

Stack Overflow用户
提问于 2020-03-20 10:50:35
回答 1查看 762关注 0票数 0

我正在努力在Sybase中划分一个巨大的表。用例是,该表多年来一直在增长,应用程序不需要超过6个月的数据。所以,我需要归档一些行。我现正探讨以下方法:

  • 将日期分区添加到表中,并按日划分行
  • 编写一个批处理,每午夜执行一次,并归档6个月以上的分区。

现在,为了做到这一点,我需要对现有的表进行分区,并有几个问题(我不是Sybase或DB专家):

  • Sybase中的范围划分最接近于我试图实现的方法。但是,它要求您预先指定所有范围。因此,如果我想在滚动的基础上创建一年的每日分区,是否需要预先指定所有的值?
  • 我是否可以alter一个现有的表并添加分区,或者我需要创建一个新的表?
EN

回答 1

Stack Overflow用户

发布于 2020-05-29 18:02:57

分区的目的是:

  1. 减少维护任务的时间(dbcc、更新统计信息等)
  2. 节省磁盘使用(即使用慢速磁盘处理冷数据)
  3. 实现性能收益(有重要的先前考虑)

如果你在第1或第2种情况下,答案是:

要创建范围分区,不需要设置上值;在创建下一个分区时,范围的上限值是隐式定义的。下一个分区可以通过alter在任何时候定义。

如果你在第三种情况下:

定义分区列时要非常小心;理想情况下,它们必须与查询的where子句匹配。使用有意义的全局索引,以便ASE能够找到每个分区中行的位置。其余部分使用本地索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60772714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档