Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » Ultra Light データベース管理とリファレンス » Ultra Light のパフォーマンスに関するヒント » 挿入と更新のパフォーマンスのヒント

 

単一のトランザクションまたはグループ化されたトランザクションのフラッシュ

コミットされたトランザクションのフラッシュを遅延させることで、Ultra Light でのリカバリポイントを選択できます。リカバリポイントを使用すると、Ultra Light がコミットを記憶領域に解放したときに、トランザクションに含まれている SQL 文のサブセットがトリガーする追加操作オーバーヘッドを制御できます。

デフォルトでは、Ultra Light は操作ベースのデフォルト処理を使用しており、トランザクションはコミットされるとすぐに、個別に記憶領域にフラッシュされます。配備環境によっては、このような頻度の高い処理では負荷が重くなり、トランザクションスループットが制限される可能性があります。このデフォルト処理によるパフォーマンスの低下を防ぐには、ステータスベースの方法を選択できます。特にオートコミット操作に依存しているアプリケーションでは、この方法によって、コミットされたトランザクションの記憶領域へのフラッシュに必要な追加オーバーヘッドを遅延させます。

  • チェックポイントでの制御   独自のチェックポイントを設定し、これを使用して、それまでの期間に実行された作業を解放します。チェックポイントは、単一トランザクション内にも、複数のトランザクションにわたるものでも、必要に応じていくつでも使用できます。

  • グループ化して制御   トランザクションカウントスレッショルドかタイムアウトスレッショルドまたはその両方を使用して、実行した作業を解放できます。

ステータスに応じてコミットのフラッシュを遅延させる方が、パフォーマンスへの影響が少なく、アプリケーションの設計もすっきりします。これは、アプリケーションが Ultra Light からの応答を待機する必要がないためです。コミットフラッシュを遅延させることで、作業が完全には完了していないデータへのきめ細かい制御が可能になり、トランザクションへの影響が最小限に抑えられます。たとえば、販売アプリケーションでは、注文が、すべての項目が追加されたり承認されたりする前に、別のアプリケーションに対しても使用可能になります。

ただし、コミットフラッシュが遅延されるトランザクションのリカバリ性を考慮しておくことが重要です。解放されていないトランザクションはリカバリできません。したがって、アプリケーションのデータ整合性とパフォーマンスとの間のトレードオフを評価しておく必要があります。

 参照