or replace transient table t_skew (s varchar) as select randstr(1, random()) s from table(generator(rowcount => 100000000)) order by s; explain select * from t_skew; -- partitionsTotal: 8 explain select * from t_skew where s >= 'r'; -- partitionsAssigned: 2 explain select * from t_skew where s >= 's'; -- partitionsAssigned: 1
つだけ 100 倍大きい状態 例 2: データスキュー update t_skew set s = repeat('z', 100) where s >= 'z'; explain select * from t_skew where s >= 's'; -- partitionsTotal: 8 -- partitionsAssigned: 1
2: データスキュー create or replace transient table t_dist (s varchar) as select * from t_skew order by s; explain select * from t_dist; -- partitionsTotal: 64