由于teradata share nothing的架构,就导致在经常需要执行重分布操作。
teradata中group by的机制是先在每个amp执行group by操作,然后执行总的group by操作,这样重复的数据就会在重分布前被过滤掉,并且如果每个重复的数据量多,需要进行重分布的量就会大大减少,从而大幅度提高性能。 反之,由于group by需要两次排重操作,如果重复的数据很少,性能就会很差。
相反,由于distinct仅在重分布之后进行排重操作,因此适合于重复量很少的去重操作。
阅读(735) | 评论(0) | 转发(0) |