DB2® の静的 SQL は、実行時のデータ・アクセスを合理化し、アプリケーションのセキュリティーを改善することができる強力な機能です。
静的 SQL には、以下の利点があります。
- 動的ステートメント・キャッシュの回避
- 静的 SQL を使用することで、DB2 の動的ステートメント・キャッシュの競合が削減され、動的 SQL を使用するアプリケーションのパフォーマンスが向上します。
- アクセス・パスの一貫性
- 静的 SQL は、アプリケーションの実行前にアクセス・パスを固定することによって、応答時間を予測可能で安定したものにします。一方、動的 SQL のアクセス・パスは実行時に計算されます。
- アプリケーションのパフォーマンスが向上する可能性
- 静的 SQL では、アプリケーションのパフォーマンスが向上する可能性があります。
- アクセス・プランが実行時より前に決定されるため、実行時に SQL ステートメントを準備する必要がなくなります。
- 各ステートメントを準備して記述する必要がないため、クライアント・アプリケーションとデータベース・サーバーの間のネットワーク・トラフィックが削減されます。
- 静的 SQL では、述部で使用するホスト変数またはパラメーターのデータ・タイプが厳密に強制されます。
この厳密な強制によって、入力データがデータベース内のターゲット・タイプに必ず一致します。
- セキュリティーの強化
- データベース・オブジェクトに対する特権を付与するのではなく、DB2 パッケージに対する EXECUTE 特権をユーザーに付与できます。
- パッケージ改訂の容易性
- DB2 パッケージのバージョン管理によって、以前の優れたアクセス・パスを失うリスクを犯すことなく、パッケージを再バインドできます。
pureQuery では、DB2 データベースで SQL ステートメントを静的に実行する方法を 3 つ提供しています。