sql >> データベース >  >> RDS >> Database

データベースの再編成–なぜそれらが重要なのか

    データベースの再編成: 重要な理由とオンラインとオフラインの違い

    データベースの再編成は、データスペースを節約し、データベースの効率とパフォーマンスを向上させるために実行されます。この記事ではその理由を説明します。次の記事は、Eclipseで複数のテーブルとデータベースを再編成する方法を示しています。

    大きなRDBMSテーブルのデータは最終的に断片化されます。レコードがより多くのデータページに分散されるようになると、テーブルとインデックスのサイズが大きくなります。クエリの実行中に非結合順序でページの読み取りと行が増えると、クエリの応答が遅くなります。無駄なスペースを再利用し、データベースの稼働時間を改善し、データアクセス(クエリ応答)を高速化するには、データベースオブジェクトを再編成するための戦略を検討してください。

    データベースの再編成は、これらのテーブルの2つのタイプ、インデックスオブジェクトとテーブルスペースオブジェクトで構成されます。オンライン(インプレース)とオフライン(クラシック)です。

    オンラインデータベース 再編成は、既存のテーブル内の行を移動してクラスタリングを再確立し、空き領域を再利用し、オーバーフロー行を排除することにより、段階的に機能します。オブジェクトは、大きなオブジェクトの場合は長引く可能性があるリロードおよび再構築フェーズではなく、終了間際の短時間のみ使用できます。これらは、アプリケーションがデータベースに接続できるようにしますが、多くの場合、パフォーマンスを低下させ、その時点でロック待機を作成する可能性があります。

    オフラインデータベース 再編成は高速ですが、データベースをオフラインにすることができます(データベース再編成ユーティリティが使用されている場合)。この方法では、データがデータベースからダンプファイルにエクスポートされます(アンロード)。データベースオブジェクトは、抽出に基づいてバックアップされ、通常は並べ替え(並べ替え)されます。次に、それらは同じテーブルスペースに戻され(ロード)、インデックスが暗黙的に復元されます(再構築)。

    パフォーマンスを重視するDBAは、アンロードにIRI FACT(高速抽出)を使用します。これにより、再編成されたテーブルのプライマリインデックスキーで(IRI CoSortを使用して)並べ替えることができるポータブルフラットファイルが作成されます。このアプローチでは、他の変換およびレポート操作が発生する可能性があり、データベースはオンラインのままです。事前にソートされたダイレクトパスロードも、データベースローダーのソート(オーバーヘッド)をバイパスします。これらの操作はすべて、IRIWorkbenchオフライン再編成ウィザードで自動化されています。

    各テーブルのファイルシステムにデータの「シャドウ」コピーを保持することは、フラットファイルがソートされて再ロードされると削除される可能性があるため、過度に面倒なことではありません。同時に、再編成データを外部化してCoSortで利用できるようにすることで、アーカイブ、レポート、保護、他のデータベース、BIツール、アプリケーションターゲットへの移行など、データの他の用途も可能になります。

    もちろん、アンロード中に他のシステムユーザーがテーブルスペースを読み取って更新する可能性があるため、この間に更新すると再ロードが失敗し、ターゲットに不整合が生じる可能性があることに注意してください。したがって、更新が行われていないときにオフラインで再編成を実行することをお勧めします。

    IRIは、ここで説明および表示されているオフラインの再編成ソリューションを提供します。


    1. SQL ServerでのACOS()の例

    2. PostgreSQLで遅いクエリを処理する

    3. SQL Serverで2つのテーブルに同時にデータを挿入するにはどうすればよいですか?

    4. MySQLでDISTINCTまたはGROUPBYを選択すると、何が速くなりますか?