プライマリ・コンテンツに移動
Oracle® Databaseユーティリティ
12cリリース1 (12.1.0.2)
B71303-09
目次へ移動
目次
索引へ移動
索引

前
次

一般的なパフォーマンス改善のヒント

ロードするデータの形式について制御が可能な場合は、次に示すヒントを利用してロード・パフォーマンスを改善できます。

  • 論理レコードの処理を効率化します。

    • 物理レコードと論理レコードの1対1のマップを使用します(CONTINUEIFおよびCONCATENATEを使用しない)。

    • ソフトウェアで物理レコードの境界を簡単に判断できるようにします。ファイル処理オプション文字列「FIX nnn」または「VAR」を使用します。ほとんどのプラットフォーム(UNIX、NTなど)では、デフォルト(ストリーム・モード)を使用する場合、ローダーで各物理レコードをスキャンしてレコード終了記号(改行文字)を探す必要があります。

  • フィールド設定を効率化します。フィールド設定とは、データ・ファイルのフィールドを、ロードされる表の対応する列にマップする処理です。マップ機能は、制御ファイルのフィールド記述によって制御されます。フィールド設定は(データ変換とともに)、ほとんどのロードでCPUサイクルを最も使用する処理です。

    • デリミタ付きのフィールドを使用しないようにします。固定位置のフィールドを使用します。デリミタ付きフィールドを使用すると、ローダーで入力データをスキャンしてデリミタを見つけなければなりません。固定位置フィールドを使用すると、フィールド設定は単純なポインタの算出によって(非常に速く)行われます。

    • (PRESERVE BLANKSを使用する)必要がない場合は、空白を切り捨てないでください。

  • 変換を効率化します。SQL*Loaderでは、キャラクタ・セット変換、データ型変換などのいくつかの変換が行われます。このような変換が行われない場合、処理は最も速くなります。

    • 可能な場合は、シングルバイト・キャラクタ・セットを使用します。

    • キャラクタ・セット変換はできるだけ行わないようにします。SQL*Loaderでは、次の4つのキャラクタ・セットがサポートされています。

      • クライアント・キャラクタ・セット(クライアントsqlldrプロセスのNLS_LANG)

      • データ・ファイル・キャラクタ・セット(通常、クライアント・キャラクタ・セットと同じ)

      • データベース・キャラクタ・セット

      • データベース・キャラクタ・セット

      すべてのキャラクタ・セットが同じ場合、パフォーマンスは最適化されます。ダイレクト・パスでは、データ・ファイル・キャラクタ・セットとデータベース・サーバー・キャラクタ・セットが同じである場合、最適なパフォーマンスが得られます。キャラクタ・セットが同じ場合、キャラクタ・セット変換用バッファは割り当てられません。

  • ダイレクト・パス・ロードを使用します。

  • SORTED INDEXS句を使用します。

  • NULLIF句およびDEFAULTIF句は必要な場合以外は使用しないようにします。これらの句は、関連する句を持つ各列にロードされるすべての行について、評価される必要があります。

  • 可能な場合は、パラレル・ダイレクト・パス・ロードおよびパラレル索引作成を使用します。

  • CONCATENATE句およびCOLUMNARRAYROWS句の両方に大きい値を指定する場合は、パフォーマンスへの影響に注意します。詳細は、「CONCATENATEを使用した論理レコードの作成」を参照してください。