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

オフライン再編成ウィザードの使用

    データベーステーブルとインデックスのサイズが大きくなると、データの断片化が進み、クエリの応答が遅くなります。データベースの運用効率を向上させるには、定期的なテーブルの再編成が必要です。再編成が重要である理由を説明しているこの記事と、ウィザードの使用法について詳しく説明している以下の資料をご覧ください。


    それは何ですか

    IRI Workbench(すべてのIRIソフトウェア製品用のEclipse IDEおよびGUI)は、専用のウィザードを介して従来の(オフラインの)再編成ソリューションを提供します。オフライン再編成ウィザードを使用すると、データベース自体に負担をかけることなく、大規模なテーブルをクエリ(結合など)の順序で維持する、複数の大規模な再編成の指定と実行が容易になります。


    機能

    オフライン再編成ウィザードは、IRI Data Managerスイートの構成製品を使用して、1つ以上のテーブルに対して段階的な「アンロード-注文-リロード」プロセスを構築します。大規模な再編成の場合、次の構成を指定します。

    • バルクテーブルアンロードのIRIFACT
    • 再注文のためのIRICoSort
    • 事前に並べ替えられた一括読み込み用のターゲットデータベースの読み込みユーティリティ

    ODBCの選択と挿入のオプションは、小規模または微調整された操作にも使用できます。

    ウィザードの最後に、選択したテーブルを再編成するために必要なジョブスクリプトが作成されます。ジョブは、選択したツールのライセンスが付与されている場所であればどこでも実行でき、GUI、コマンドライン、またはバッチスクリプト(ウィザードでも生成されます)から呼び出すことができます。データベースユーザーは、オフラインreorgメソッドの影響を受けませんが、リロードまたはODBC更新により、使用中のテーブルが変更される可能性があります。


    仕組み

    IRI Workbenchでオフライン再編成ウィザードを開始するには、FACTメニューのドロップダウンリストに移動して、[新しいオフライン再編成ジョブ...]を選択します。

    最初のダイアログで、プロジェクトフォルダーを選択し、サブフォルダーに名前を付けて、再編成メタデータと並べ替えられた結果を保持してから、テーブルの取得(アンロード)と再入力(ロード)の方法を指定します。

    次は、データ抽出(アンロード)ステージです。使用可能なデータベースプロファイルは、前のページの[抽出]フィールドで選択した内容によって異なる場合があります。接続ファイルからデータベースを選択し、選択ウィンドウで使用可能なテーブルから再編成するテーブルを選択します。

    次は、ターゲットテーブルの詳細を指定するデータ読み込みステージです。接続プロファイル、スキーマ名、および再作成に適用可能なオプションを選択します(この場合はOracle SQL * Loaderを使用)。 [完了]をクリックして、再編成を実行するために必要なすべてのスクリプトを自動的に作成します。

    このプロセスにより、JOB_TYPESテーブルのみをオフラインで自動的に再編成するために必要なファイルが生成されました。アンロード(FACT .ini)、ソート(CoSort .scl)、リロード(Oracle .ctl)スクリプト、および補助ファイルは、すべてを実行するために必要なバッチスクリプトとともに生成されます。 .sqlファイルは制約を保持し、.flowファイルは別のビューでワークフローの視覚的表現をサポートします。

    バッチスクリプト(FlowBatch.bat)を実行すると、読み込み用に再ソートされたデータを含むテーブルが作成されます。以下は、再編成の前後のテーブルのビューです。

    アイテムの数は同じですが、再編成ウィザードはデフォルトで主キーでテーブルを並べ替えました。別の(ルックアップ)列でテーブルを並べ替える必要がある場合は、.sclジョブで(手動またはGUIを介して)並べ替えキーを変更できます。

    このウィザードの動作について質問がある場合、または IRI Data Manager のデモまたはこれらのコンポーネントにアクセスする必要がある場合は、[email protected]にお問い合わせください。 スイート。


    1. 関数内のSELECTまたはINSERTは競合状態になりやすいですか?

    2. MySQLに複数の行を挿入する方法

    3. PostgreSQL:クエリには結果データの宛先がありません

    4. PostgreSQLで重複する日付をテストする方法