実行されるクエリをトレースしてOutSystemsアプリケーションを突き止める
この機能は、OutSystemsのオンプレミスインストールでのみ利用可能です。
データベース管理者(DBA)がOutSystemsで生成されたクエリのパフォーマンスの問題をトラブルシューティングするとき、クエリの発行元のOutSystemsモジュールやアクション/画面を正確に特定することが難しい場合があります。
OutSystemsでは、SQLクエリ文にクエリの発行元に関する情報を追加することができます。これにより、DBAがすでに使用しているデータベースツールでこの情報を確認できるようになります。これにより、DBAがOutSystems開発者にパフォーマンスの低いクエリの正確な場所を知らせることができます。
この情報は、プラットフォームで生成されるAggregateおよびSQL要素のクエリで使用できます。この機能はデフォルトでは無効になっており、Factory Configurationを使用して有効にすることができます。
クエリの発行元を示すコメントには、以下の情報が含まれます。
<モジュール名>.<アクション/画面/その他>.<Aggregate/SQL要素>
例:
/* EmployeeManager.EmployeeFlow.EmployeeList.Preparation.GetEmployees */ SELECT TOP (51) NULL o0, [ENEMPLOYEE].[NAME] o1 FROM [OUTSYSTEMS].DBO.[OSUSR_0UL_EMPLOYEE] [ENEMPLOYEE] ORDER BY [ENEMPLOYEE].[NAME] ASC
コメント(この例の1行目)の情報から、このクエリが「EmployeeManager」モジュールの「EmployeeFlow」UIフローにある「EmployeeList」画面のPreparationで、「GetEmployees」エンティティアクションによって生成されていることがわかります。
注記: この機能を有効にしてもクエリのパフォーマンスには影響を及ぼしません。ただし、クエリ計画の再計算が必要な場合があります。クエリ計画が安定するまで最初はパフォーマンスが低下する可能性があります。
生成されるSQLでクエリの発行元情報を有効にする
この機能を有効にするには、Factory Configurationを使用します。手順を実行する前に、このForgeコンポーネントがインストールされていることを確認してください。
以下の手順を実行します。
-
Factory Configurationアプリケーション(
https://<環境名>/FactoryConfiguration
)に移動します。 -
[Publish]の[Add Query Origin to Generated SQL]設定を有効にします。
1.[Apply]をクリックします。
- クエリの発行元情報を含めるモジュールをパブリッシュします。
または、Service Centerを使用してすべてのモジュールを含むソリューションを公開します。この場合、環境内のすべてのモジュールにこの変更が適用されます。