DataFlow SQLのjoinが遅い問題

DataFlow SQL で left outer join などでテーブルを結合すると、処理が非常に遅くなります。結合するテーブルは数行しかないのにです。

現在は、プロシージャー作って create index していますが、編集ユーザーがこの処理を書くのはハードルが高いです。

以前は勝手にイイ感じにインデックス作成してくれていたような気がします。

 

create indexを書かずに、処理を速くする方法はありますか?

Tagged:

Best Answer

  • Unknown
    Accepted Answer

    その通りです。
    新規作成でSQLを選択した後、MySQLかRedshiftを選択可能になります。
    また、既存のデータフローもMySQLからRedshiftに切り替えることができます。ただし記法がある程度異なるので、書き換えは必要になると思います。

Answers

  • 投稿ありがとうございます。

     

    SQLのパフォーマンスは、MySQLに依存します。Domoでコントロールできる範囲外の事象になります。

    もしIndexをはらないのであれば、結合前にデータ件数を減らすなどの対応するくらいですが、根本解決にはならないです。

     

    別の案としては、Redshiftを有効化することで、MySQLよりはパフォーマンスが上がります。

    ただしRedshiftの場合は、日本語項目名が利用できないなど、いくつか制限があります。

  • @Masashi19
    > Redshiftを有効化

    これをすると、MySQL と Redshift 両方の DataFlowが利用できる様になるということでしょうか。

    DataFlow ETL、DataFlow SQL、DataFlow Redshift の3種類が利用できるイメージ。

  • @Masashi19
    サポートからRedshift機能ONを要望したいと思います。

    ありがとうございます。