DataFlow SQLのjoinが遅い問題

Tomo
Tomo Contributor
編集済: 5月 2023 仲間に相談

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

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

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

 

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

タグ付けされた:

ベストアンサー

  • 不明
    回答済み✓

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

答え

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

     

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

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

     

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

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

  • Tomo
    Tomo Contributor

    @Masashi19
    Redshiftを有効化

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

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

  • 不明
    回答済み✓

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

  • Tomo
    Tomo Contributor

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

    ありがとうございます。