次の方法で、テーブルの断片化を制御できます。
PCTFREE の使用 SQL Anywhere では、ローが少し大きくなることを見込んで各ページに余分な領域を確保します。ローが更新されたために、最初に割り付けられていた領域より大きくなると、そのローは分割され、最初のローのロケーションにはロー全体が格納されている別のページへのポインタが入れられます。たとえば、空のローを UPDATE 文で埋めたり、テーブルに新しいカラムを挿入したりすると、ローが分割される可能性があります。別個のページに格納されるローが増えるほど、追加ページへのアクセス所要時間が長くなります。
テーブルページに今後の更新のための予約領域の割合を指定しておくと、テーブルの断片化量を減らすことができます。この PCTFREE 指定は、CREATE TABLE、ALTER TABLE、DECLARE LOCAL TEMPORARY TABLE、または LOAD TABLE で設定できます。
テーブルの再編成 REORGANIZE TABLE 文を使用するか、Sybase Central の [断片化] タブで [再編成] をクリックすると、特定のテーブルの断片化を解除できます。
データベースの再構築 データベースを 2 段階で再構築すると、システムテーブルを含むすべてのテーブルの断片化が解除されます。2 段階で行うには、データをディスクにアンロードして保存してから、再ロードします。この方法で再構築すると、テーブルのローが並べ替えられ、クラスタドインデックスとプライマリキーで指定された順序になります。-ar、-an、-ac などのオプションを使用して一度に再構築を行うと、テーブルの断片化は減りません。
[断片化] タブ (SQL Anywhere プラグインの場合)
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |