タグ

ブックマーク / www.drk7.jp (2)

  • Oracle - SQL*Loader のパフォーマンス考察

    Oracle で大量の insert を高速に処理する方法の検討 ですでに検証済みですが、Oracle での最速の insert を求めるなら SQL*Loader を使うことです。もちろんテーブルの状態によって計測値はかわりますが、以前の検証結果では SQL*Loader はマルチテーブルインサートよりも6倍ほどはやいという結果でした。 というわけで、オンライン系はともかく、バッチ系の処理での大量 insert 処理に SQL*Loader を使っていなければ、今すぐ SQL*Loader の導入を検討するべきでしょう。 ってことを自分自身わかりつつ、つい最近まで時間がとれていなかったのですが、最近は時間ができたのでバッチ処理の見直しをしているところです。SQL*Load にもいろいろ速度と制約があるので、その辺をまとめていきたいと思います。 SQL*Loader ってなんですか? って

  • Oracle で大量の insert を高速に処理する方法の検討

    久々に Oracle ネタです。以前 セッション管理に向いているデータベースは MySQL ? Oracle ? というエントリを書いたのですが、それとは別に insert の処理をどうしても高速化する必要に迫られました。今回高速化すべき要件として同一テーブルに大量のデータを一気に登録する作業です。いわゆる管理系業務で良くある csv のインポート的な機能に相当します。 さてそのような要件の場合、insert の方法は大きく分けて以下の方法が考えられます。それぞれどんなものかを知りたい方はエントリー最後の参考を読むと理解できると思います。 アプリ側から csv のデータを読み込んで for 文で件数分ループして insert する マルチテーブルインサート機能を用いて、1つの insert で複数データを一括登録する バルクインサート処理を行う PL/SQL を定義して一括登録する SQ

  • 1