Skip to main content

 

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

 

 

OutSystems

適切なレコードカウント

AggregateやSQLクエリで返される行数を取得するには、.Countプロパティを使用します。

.Countが呼び出されると、Max. recordsでの制限を使用せず、コンパイラによって生成される2つ目のクエリによってカウントが実行されます。通常、1つ目のクエリはデータを取得するためのものであり、カウントを実行するためのものではありません。

影響

OutSystemsプラットフォームは、Aggregateではレコードのカウントを実行する最適化されたクエリを生成することができますが、カスタムSQLクエリではこれができません。SQLは、開発者が複雑なSQL呼び出しを記述するためのものです。これらのクエリの呼び出しは、レコードのカウントを行うには複雑すぎる場合があります。

SQLクエリのプラットフォームは、Max. recordsの制限を使用せずに同じクエリを実行します。クエリはデータを取得することが目的であるため、単に行数を取得する場合でも、不要なフィールドの取得、結合の実行、結果のソートが行われてしまいます。この場合、行数のカウント方法としては余計な手間が多くなります。

ベストプラクティス

  1. SQLクエリの行数をカウントするには、データ取得用のクエリをコピーして、行数のカウントのみを行うように調整します。

  2. クエリで結果が返されるかどうかをテストするだけの場合は、AggregateやSQLクエリで.Countプロパティを使用しないようにします。結果が空かどうかを確認するだけの場合は、<Query>.Count = 0ではなく<Query>.List.Emptyをテストすると、要素をカウントするためだけの余計なクエリを実行する手間を省くことができます。

  • Was this article helpful?