2010-08-01から1ヶ月間の記事一覧

Teradataは単一テーブルから全件返すときもスプールを使う

Teradataで3000万件ぐらいのテーブルをただ全件引いてみると、 select * from t /* 3000万件 */しばらくだんまりになった後で、猛然と結果が返ってくる。 このだんまりの時間に何をしているのかexplainで調べてみると、 3) We do an all-AMPs RETRIEVE step …

Teradataはselect句が返す列数を減らすと速くなる

Teradataで3本以上のテーブルを結合する場合、必ず中間結果のスプールへの(つまりディスクへの)書き出しが発生する。 例えばa, b, cの3本を結合するなら、aとbの結合結果をスプールに書いて、次にスプールとcを結合する。 b, cが件数の非常に少ないテーブル…

Primary Indexは一意に近いほどよい、わけではない

Teradataはいわゆるshared-nothingアーキテクチャを採用していて、1つのテーブルのデータは、AMPと呼ばれる数十台の仮想マシンに分散して格納される。 Teradataは各レコードのキーすなわちPrimary Index(=PI)をハッシュ関数に食わせて、出てきた値からそのレ…