小编ran*_*tic的帖子

分区与索引

我对数据库很陌生,所以如果我的问题非常基本,我深表歉意......

无论如何,我正在创建一个包含大量数据的表(现在有 5 亿行,未来可能会翻倍)。现在,我需要一种方法来快速访问该表中的数据,因此我正在研究分区和索引。但是,我对何时要创建分区与索引感到困惑。我有三列似乎是分区或索引的合理候选者:

  • 时间(天或周,数据跨越 4 个月)
  • 客户“令牌”:用户 ID 的最后两位数字
  • 客户端 ID(通常数据集中有 5-20 个客户端)

当针对这个表运行未来选择时,我很可能会过滤客户端 id 以及想要做一些采样(我想通过“令牌”变量来做)。我可能偶尔也会按时间变量进行过滤。

所以,我的问题是:我应该如何组织我的桌子?是不是应该按Client和Token进行分区,然后按时创建索引?或者只是在客户端上分区并按时间和令牌创建索引?而且,更重要的是,您推荐的策略背后的逻辑是什么?

此外,在我创建了表之后,如果我向其中添加更多数据(尤其是相同日期/令牌范围的新客户端),索引是否会中断?重新创建索引相对简单吗?

非常感谢您的帮助,如果您需要我提供更多信息,请告诉我。

index oracle partitioning

8
推荐指数
1
解决办法
1万
查看次数

插入的行数为负

我只是运行了一个相当简单的 INSERT 语句(我认为它处理了很多行),我得到了消息:

-1,311,750,183 行插入

我应该担心它是负面的吗?

oracle oracle-11g insert

4
推荐指数
1
解决办法
1988
查看次数

标签 统计

oracle ×2

index ×1

insert ×1

oracle-11g ×1

partitioning ×1