Teradata的偏差因素有什么不好的数字?

时间:2017-01-23 08:50:18

标签: sql optimization teradata skew

我用这种方式确定偏斜因子:

SELECT 
TABLENAME,
SUM(CURRENTPERM) /(1024*1024) AS CURRENTPERM, 
(100 - (AVG(CURRENTPERM)/MAX(CURRENTPERM)*100)) AS SKEWFACTOR 
FROM 
DBC.TABLESIZE 
WHERE DATABASENAME= <DATABASENAME> 
AND 
TABLENAME =<TABLENAME>  
GROUP BY 1;

对于一些大小约为600 Gb的表,偏斜系数为30%。对于尺寸为10 Gb的桌子,相当高的98%。上面这个数字到底有多糟糕?有没有官方文章说超过10%应该重新分配?我需要它来证实对mart开发者的要求。我发现只有this

2 个答案:

答案 0 :(得分:2)

偏差因子 30 意味着最大AMP的数据与平均值相比大约多40%。这可能仍然可以接受(当然取决于),请与您的DBSa谈谈他们通常认为太大的内容。

另一方面, 98 意味着在max-AMP上有40到50次更多的数据,而且还有很多。< / p>

这比较了两种计算偏斜的方法:

ng-if

答案 1 :(得分:1)

没有任何幻数,但是有一个98%倾斜的表意味着几乎所有的数据都在一个AMP中,这意味着(1)你正在失去并行数据库的性能优势(2) )您正在系统上创建不平衡负载。