我对数据库很陌生,所以如果我的问题非常基本,我深表歉意......
无论如何,我正在创建一个包含大量数据的表(现在有 5 亿行,未来可能会翻倍)。现在,我需要一种方法来快速访问该表中的数据,因此我正在研究分区和索引。但是,我对何时要创建分区与索引感到困惑。我有三列似乎是分区或索引的合理候选者:
当针对这个表运行未来选择时,我很可能会过滤客户端 id 以及想要做一些采样(我想通过“令牌”变量来做)。我可能偶尔也会按时间变量进行过滤。
所以,我的问题是:我应该如何组织我的桌子?是不是应该按Client和Token进行分区,然后按时创建索引?或者只是在客户端上分区并按时间和令牌创建索引?而且,更重要的是,您推荐的策略背后的逻辑是什么?
此外,在我创建了表之后,如果我向其中添加更多数据(尤其是相同日期/令牌范围的新客户端),索引是否会中断?重新创建索引相对简单吗?
非常感谢您的帮助,如果您需要我提供更多信息,请告诉我。
我只是运行了一个相当简单的 INSERT 语句(我认为它处理了很多行),我得到了消息:
-1,311,750,183 行插入
我应该担心它是负面的吗?