メインコンテンツへスキップ

はじめに

Fusion DataSetでパフォーマンスに問題が発生している場合、いくつかの原因が考えられます。クエリのパフォーマンスを改善するには、以下の推奨を検討してください。

入力のサイズ

一般的に言えば、入力DataSetが大きいほどFusionのパフォーマンスが低下します。最大の入力DataSetが50億行を超える場合、クエリの多くがタイムアウトし、結果を返さない可能性があります。現在Domoサポートでは、このような大規模なFusionを改善する効果的な方法がありません。このためDomoエンジニアリングでは現在、10億以上の行データでFusionを構築するためのソリューションを開発中です。

推奨

  • 最大入力DataSetのサイズを小さくします。
  • 50億行を超えるDataSet行にFusionを作成しないでください。

入力の数

入力DataSetの数が多いほどFusionのパフォーマンスが低下します。作成しようとしているカードで、1つまたは複数の入力DataSetにフィールドが必要ない場合、入力DataSetを含まないFusionを作成することを検討してください。これにより、カードを入力するクエリの実行速度が速くなります。

推奨

  • 作成中のカードのためにできるだけ小さいFusionを作成します。これにより、類似したFusionが複数発生する可能性がありますが、パフォーマンスは向上します。

列のJoin

STRING(文字列)フィールドでJoinされたDataSetは最もパフォーマンスが低くなります。DOUBLE(倍精度浮動小数点数値)をJoinするほうがよりパフォーマンスが高く、整数をJoinするのが最も良いパフォーマンス結果になります。

推奨

  • 文字列をJoinするのは、最終手段です。可能な場合は常に数字フィールドをJoinします。
  • Fusionに使用する文字列フィールドがある場合、表に追加して代わりに結合することができる、対応する数値識別子があるかどうかを確認してください。

Beast Mode

複雑なBeast Mode計算はFusion DataSetの各行に対して計算されるため、クエリのパフォーマンスが低下する原因となります。文字列フィールドに対して計算されたBeast Mode計算は、最もクエリを必要とします。複雑なBeast Mode計算(大規模なCASEステートメントなど)は、パフォーマンスに大きく影響する可能性があります。

推奨

  • Beast Mode計算を、文字列フィールドではなく数値フィールドまたは日付フィールドで作成します。
  • データをインポートする前にBeast Modeフィールドを計算することを検討してください。これにより、クエリ時に計算を実行する時間を節約することができます。
  • 文字列フィールドで計算される大規模なCASEステートメントを避けてください。

サポート

Fusionを改善する推奨に従ってもまだ十分なパフォーマンスが得られない場合は、Domoサポートにお問い合わせください。 日本語