- PR -

データベースに複数行insert

1
投稿者投稿内容
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-09-19 19:10
こんばんは。お世話になります。

今までJavaしかやってこなかったのですが
最近になってC#を勉強しています。

データベースアクセスを勉強しています。

データベースに「県」というテーブルがあるのですが
ここに
県コード、県名、県庁所在地・・・
というデータをinsertすることを考えています。
1件1件insertするのは問題なく出来ました。

ここで欲が出ました。
複数行insertすることを考えると
1回1回insertするのは性能面であんまりよろしくないのではないかと。
例えば47都道府県のデータを
データベースに対しinsert文を47回実行するよりも
効率良くデータベースにデータを登録することのできる方法というのは
ないものでしょうか。

データベースはOracle9を使用しています。

よろしくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-19 19:17
引用:

あすかさんの書き込み (2006-09-19 19:10) より:

複数行insertすることを考えると
1回1回insertするのは性能面であんまりよろしくないのではないかと。
例えば47都道府県のデータを
データベースに対しinsert文を47回実行するよりも
効率良くデータベースにデータを登録することのできる方法というのは
ないものでしょうか。

データベースはOracle9を使用しています。


データベースに Oracle9i を使用しているとの事ですが、
データプロバイダーは何を使用していますか?

ODP.NET を使用しているのなら、
PL/SQL連想配列バインド と 配列バインド を使用することが出来ます。
http://otndnld.oracle.co.jp/document/products/oracle10g/102/windows/B31247-01/featOraCommand.htm

PL/SQL連想配列バインド は ODP.NET 9.2.0.4 以降のサポートです。
_________________
かるあ のメモスニペット
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2006-09-19 19:39
回答ではありませんが、複数行insert しても それが性能面で効果があるのかどうかが
疑問ですけどね。毎秒1000件ぐらい登録するシステムならなにか効果がはっきりでてくるかもしれませんが、
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-09-19 19:50
回答ありがとうございます。
配列バインドが有効に使えそうです。

情報ありがとうございます。
saki1208
ベテラン
会議室デビュー日: 2006/08/22
投稿数: 86
投稿日時: 2006-09-19 20:00

saki1208です。

引用:

あすかさんの書き込み (2006-09-19 19:50) より:
配列バインドが有効に使えそうです。



なぜ、配列バインドが有効なのでしょう?
1回1回insertするのとどこが違うのでしょう?

あなたがそう考えた理由を書いたほうが良いのでは
ないでしょうか?>あすかさん
1

スキルアップ/キャリアアップ(JOB@IT)