LoginSignup
0
0

SpannerでJOINをした時にメモリ不足になった時の解決法

Posted at

Spannerで、900万行と200万行くらいをLEFT OUTER JOINして、WHERE句で条件つけて、SELECTの実行を行ったら、HashJoinIterator ran out of memory during accumulating rowsというエラーが出た。

調査のためにLIMITをつけて、実行の流れを見たら(エラー文からも分かるが)、JOINが、HashJoinで行われていた。
ハッシュマップを作るのに、データ量が多すぎたのか、メモリ不足になっている?とりあえず、別のJOIN形式ではどうなるか、確かめる事にした。

APPLY JOINで成功した。

時間はかかるが、数分程度は許容できる処理だったので、JOINの方式をAPPLY JOIN (JOIN_TYPE=APPLY_JOIN)にすることで、無事にクエリの実行が行えた。

データベースと友達になろうな。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0