数据仓库服务 GAUSSDB(DWS)-CLUSTER:注意事项

时间:2024-12-24 10:32:39

注意事项

  • 只有行存B-tree索引支持CLUSTER操作。
  • 如果用户只是随机访问表中的行,那么表中数据的实际存储顺序是无关紧要的。但是, 如果对某些数据的访问多于其它数据,而且有一个索引将这些数据分组, 那么使用CLUSTER中会有所帮助。如果从一个表中请求一定索引范围的值, 或者是一个索引值对应多行,CLUSTER也会有所帮助,因为如果索引标识出第一匹配行所在的存储页,所有其它行也可能已经在同一个存储页里了,这样便节省了磁盘访问的时间,加速了查询。
  • 在聚簇过程中,系统创建一个按照索引顺序建立的表的临时复制的同时,也会建立表上的每个索引的临时复制。因此,需要磁盘上有足够的剩余空间, 至少是表大小和索引大小的和。
  • 因为CLUSTER会记住聚集信息,可以第一次手动聚簇想要聚簇的表,然后设置一个定期运行的维护脚本,其中执行不带任何参数的CLUSTER,这样那些表就会被周期性地重新聚簇。
  • 因为优化器记录着有关表的排序的统计,所以建议在新近聚簇的表上运行ANALYZE。否则,优化器可能会选择很差劲的查询规划。
  • CLUSTER不允许在事务中执行。
  • 对表执行CLUSTER操作时会触发表重建(表重建过程中会先把数据转储到一个新的数据文件中,重建完成之后会删除原始文件),当表比较大时,重建会消耗较多的磁盘空间。当磁盘空间不足时,要谨慎对待大表CLUSTER操作,防止触发集群只读。
support.huaweicloud.com/sqlreference-dws/dws_06_0153.html