我的团队正在考虑将大约1TB数据的非分区表转移到分区表。
我们将使用基于时间戳列的范围分区。
有一件事我不明白,如果时间戳列被用作分区键,我们是否需要在其上添加索引。如果我们将分区设置得很小(例如每天分区),这是否会起到类似于索引的作用?
我们只会在最多每天的最高分辨率上进行查询。
我不太想添加索引,因为我们之前尝试过,但从未完成过(可能是因为我们没有关闭写入。无法关闭写入一个扩展的时期)。
我的团队正在考虑将大约1TB数据的非分区表转移到分区表。
我们将使用基于时间戳列的范围分区。
有一件事我不明白,如果时间戳列被用作分区键,我们是否需要在其上添加索引。如果我们将分区设置得很小(例如每天分区),这是否会起到类似于索引的作用?
我们只会在最多每天的最高分辨率上进行查询。
我不太想添加索引,因为我们之前尝试过,但从未完成过(可能是因为我们没有关闭写入。无法关闭写入一个扩展的时期)。
你的感觉是正确的:在分区列上省略索引是分区实际上能使查询更快的少数几个地方之一。
然后,您可以轻松进行单个分区的顺序扫描,并且您不必在每个数据修改语句中维护索引。
另一个优点是,分区使得大规模删除数据(沿分区边界)更加高效。最后,自动清理作业会变得更容易。
关于分区的两点:
升级到v12;有关分区的性能改进非常大。
不要使用太多分区。在v12中,您可能可以增加到几千个,在早期版本中,您将更早遇到性能问题。