发出msck repair table
语句时,在udpate期间仍可访问该表以进行查询吗?
我之所以问是因为,我正在试图为用于在QuickSight中生成某些报告的相对较大的S3配置单元表找出最佳的更新时间表。发出此命令是否会破坏同时运行基于此表的QuickSight报表的任何人?
答案 0 :(得分:1)
是的,当您运行MSCK REPAIR TABLE
时,该表可用于运行查询,这是一个后台进程。但是,在该命令运行时运行的查询将看到不同的分区,因为该命令发现的分区将在找到时添加。
请注意,运行MSCK REPAIR TABLE
是一个非常低效的过程,由于存在许多分区,因此它将运行很长时间,并且不是增量运行。这与查询性能无关紧要,但是如果现在花很长时间,它将只会花费越来越长的时间,并且可能不是可行的长期策略。关于StackOverflow,这里还有其他一些问题,您可以阅读这些问题,以找到其他使表保持最新状态的策略。