数据仓库服务 GAUSSDB(DWS)-CLUSTER:注意事项
时间:2025-03-21 16:04:45
注意事项
- CLUSTER不允许在事务中执行。
- HDFS表不能进行CLUSTER操作。
- 全局临时表不能进行CLUSTER操作。
- 对表执行CLUSTER操作时会触发表重建(表重建过程中会先把数据转储到一个新的数据文件中,重建完成之后会删除原始文件),当表比较大时,重建会消耗较多的磁盘空间。当磁盘空间不足时,要谨慎对待大表CLUSTER操作,防止触发集群只读。
- 存算分离架构下,对CLUSTER全库的操作会有提示不支持。
- 只有行存B-tree索引支持CLUSTER操作。
- 如果用户只是随机访问表中的行,那么表中数据的实际存储顺序是无关紧要的。但是, 如果对某些数据的访问多于其它数据,而且有一个索引将这些数据分组, 那么使用CLUSTER会有所帮助。如果从一个表中请求一定索引范围的值, 或者是一个索引值对应多行,CLUSTER也会有所帮助,因为如果索引标识出第一匹配行所在的存储页,所有其它行也可能已经在同一个存储页里了,因此可以节省磁盘访问的时间并加快查询速度。
- 在聚簇过程中,系统先创建一个按照索引顺序建立的表的临时副本,同时也创建了表上每个索引的临时副本。因此,磁盘上需要有足够的可用空间, 至少等于表大小和索引大小的总和。
- 由于CLUSTER会记忆聚集信息,因此可以在第一次手动对要聚簇的表进行聚簇,然后设置一个定期维护脚本,这样就可以周期地自动对表进行聚簇操作。
- 因为优化器会记录有关表排序的统计信息,所以建议在新的聚簇表上运行ANALYZE。否则,优化器可能会选择错误的查询规划。
support.huaweicloud.com/sqlreference-910-dws/dws_06_0153.html
推荐文章