トランザクションログのサイズは、リカバリの所要時間に影響します。すべてのテーブルに簡単なプライマリキーを設定することによって、トランザクションログファイルの拡大を制御できます。プライマリキーまたは NULL 入力不可のユニークインデックスがないテーブルで更新または削除を実行すると、対象ローの内容がすべてトランザクションログに保存されます。プライマリキーが定義されている場合は、データベースサーバはそのカラム値を保存するだけでローをユニークに識別できます。テーブルのカラム数が多い場合、またはテーブルのカラムに長いデータを含む場合は、プライマリキーが定義されていないと、トランザクションログのページがすぐに満杯になります。このように、データの余分な書き込みによって、ディスク領域を多く必要とするだけではなく、パフォーマンスが低下します。
プライマリキーがない場合、サーバはテーブル上で UNIQUE NOT NULL インデックス (または UNIQUE 制約) を探します。NULL 値を許容する UNIQUE インデックスでは十分に識別できないためです。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |