Forguncy 10 オンラインヘルプ
ベストプラクティス / 開発 / アンチパターン / リストビュー内でOData関数を使用
このトピックで
    リストビュー内でOData関数を使用
    このトピックで

    問題のある実装

    OData関数は他の数式と異なり、1つのOData関数につき1つサーバーリクエストを送信します。そのため、リストビュー内でOData関数を使用すると、レコードの数だけサーバーにODataリクエストが送信されます。

    リストビュー内でOData関数を使用し、商品テーブルから「商品名」ごとに「単価」を取得する実装を行っています。

    ブラウザの開発者ツールでネットワークの状態を確認すると、リストビューのレコードごとに結果を取得するため、レコードの数だけサーバーにリクエストを送っています。そのため、下図のように2レコードに対し、2リクエスト(CalOdata)が送信されています。

    このような実装により、レコードの数だけサーバーにODataリクエストが送信されるため、パフォーマンスに影響を与える可能性があります。

    適切な実装

    ビューの作成、またはテーブルの関連付けを行います。以下はビューを作成した例です。

    ビューはForguncyの内部データベース上に作成されるため、OData関数と比べアクセス回数も減り、パフォーマンスへの影響が軽減されます。複雑な条件下のデータを表示したい場合は、ビューの作成を推奨します。