[Seasar-user:20928] 回复: Re:outsideSqlで複数インサート文を一括で実行したい

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2011年 7月 29日 (金) 12:15:07 JST


久保さんへiafandaです
いつもお世話になっております。質問の説明は悪くてすいません。
> 「テーブルはシステムで自動生成」> つまり、システムの稼働中に create table を実行して> テーブルが作成される、という意味ですね?そうです。
> 「事前にテーブル操作用クラスが用意できないです。」> つまり、DBFluteの自動生成時にはテーブルはまだ存在しないので、> Behavior や Entity をDBFluteで自動生成できない、という意味ですね?そうです。
> ということで、Behavior の batchInsert() が利用できないので、> 外だしSQL(outsideSql) でそれと同じような速度向上のための> 機能がないかどうか?ということですね。そうです。
> システムで自動生成の構造は固定的なのでしょうか?> もしそうであれば、DBFluteの自動生成時にダミーで> そのテーブルを用意しておいて、システムでテーブルが> 作成されてから、Behavior で batchInsert() するというのも> できるかもしれません。おっしゃるとおり、現在はダミーテーブル(autotable)を用意して、新しいテーブルは以下のように作りますautotable1、autotable2......autotableN。システムで自動生成の構造は固定です。外だしSQL(outsideSql): CREATE TABLE IF NOT EXISTS /*$pmb.tablename*/autotable (   `id` varchar(10) NOT NULL,   `name` varchar(10) NOT NULL, ) ENGINE=InnoDB DEFAULT CHARSET=utf8
/*$pmb.tablename*/に設定する値はautotable1またはautotable2......
ここまでは問題ないです。

csvデータ投入時以下の外だしSQL(outsideSql)となります、データ量は10万から100万までです。 INSERT INTO  /*$pmb.tablename*/autotable  (id,name)  VALUES(/*$pmb.id*/1234567890 ,/*$pmb.name*/'1234567890')
「JDBCのバッチ更新で、複数の更新SQL(DML)を一度にデータベースに送って処理させる機能で、 1個ずつSQLを発行するよりも処理が速いという利点があります。」
そこで速度向上のための機能がないですか?
教えてください。
< 処理速度を上げたいのであれば、outsideSql で insert 文 (一レコード分) を書いて、< 「batchInsertみたいな」ことを実行しても、あまり速度は変わらないと思います。< (もともと batchInsert 自体がDBFluteの中では速度重視の機能です)outsideSql で insert 文 (一レコード分) を書いて、毎回sql文内容が変わるから、あまり速度は変わらないということですか?
よろしくお願いします。
> 久保(jflute)です。> > >> テーブルはシステムで自動生成(create table)したので、事前にテーブル操作用クラスが用意できないです。> > iafandaさんの言っていることが理解できたかもしれません。> > 「テーブルはシステムで自動生成」> つまり、システムの稼働中に create table を実行して> テーブルが作成される、という意味ですね?> > 「事前にテーブル操作用クラスが用意できないです。」> つまり、DBFluteの自動生成時にはテーブルはまだ存在しないので、> Behavior や Entity をDBFluteで自動生成できない、という意味ですね?> > ということで、Behavior の batchInsert() が利用できないので、> 外だしSQL(outsideSql) でそれと同じような速度向上のための> 機能がないかどうか?ということですね。> > すいません、先ほどのメールの時点では、> これがよく理解できていませんでした。> > システムで自動生成の構造は固定的なのでしょうか?> もしそうであれば、DBFluteの自動生成時にダミーで> そのテーブルを用意しておいて、システムでテーブルが> 作成されてから、Behavior で batchInsert() するというのも> できるかもしれません。> > もし、システムで自動生成の構造が変動的なのであれば、> どのみち外だしSQL(outsideSql)でもinsert文を書くのは> 難しいような気がします。
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20110729/7d162c5f/attachment.html>


Seasar-user メーリングリストの案内