ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

テキストファイルからの取り込みを高速化するとしたら・・・

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-19 10:01
nkmt  長老   投稿数: 1668
fjksudou様、それはとてもいいですね。
教えてくださり有難うございました。
件数少ない場合は、それも用いたいと思います。

今回は、1000万件といったCSVを
ユーザー様が取り込む案件でしたので
その方法は適さないでしょうね。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-19 9:50
fjksudou  長老   投稿数: 180
外部ツールで、よくEXCELとSQL Server Management Studioを使用します。

テーブルのレイアウトに合わせてエクセルを作ります。

追加したいテーブルのプロパティで右クリックして、上位200行の編集をクリックします。
表示されたウインドウの最下部に移動すると追加できる行ができます。

そこに、エクセルのデータをコピーして、貼り付けします。

一回こっきりのマスタ作成等はこれで簡単にできますよ。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-6-18 20:46
nkmt  長老   投稿数: 1668
年に数回しか使わないので外部ツールもいいのでしょうね。
でもどんなツールがあるのか知らないですけど。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-18 17:56
Tanda  長老   投稿数: 2151
1,000万件のレコード入力を定時処理で行うのであればMagicを使う
必要があるかと思いますが、マスターテーブルとかの作成で1回
こっきりの処理であれば外部ツールを使ったほうが楽そうですね。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 16:57
mizuno  常連   投稿数: 58
nkmt様

その方法でOKです。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 16:40
nkmt  長老   投稿数: 1668
mizuno様、お世話になっております。
アドバイスありがとうございます。

今回の場合、途中途中でのコミット差支えないです。

SQLコマンド INSERT文を試す前に
グループ毎トランザクションを試してみます。

これは COUNTER(0) MOD 10000 となった時にでも
疑似グルーピング用の変数をカウントアップなどして
それをグルーピング項目に指定すればいいのでしょうね。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 16:33
mizuno  常連   投稿数: 58
別の投稿から1000万ほどのレコード書込みということだと思います。

Insert命令というのは「SQLコマンド」でということでしょうか。
uniPaaS以前ではあまり効果がありませんでした。

全件でトランザクションかけているのであれば、これを割ってあげれば早くなります。
(トランザクションの開始を「タスク前の前」に設定しているのであれば「グループ」に変更して(例えば)1万件毎にコミットする)

処理途中でコミットしても問題ないということであればですが。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 15:02
nkmt  長老   投稿数: 1668
そうですね。
今回の場合はDBDEL後のINSERTという事もあり
共有=Noは使えます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 14:54
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
的外れかもしれませんが書き込みを早くするのであれば共有をN=なしにするくらいでしょうか
業務中では使用できないと思いますが・・・
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 .7 .8 | 投稿日時 2017-6-14 14:33 | 最終変更
nkmt  長老   投稿数: 1668
普通の入出力ファイルで、CSVファイルを読み込み
同一タスク内で
登録リンクでSQL Serverのデータへ書き込む。

これを高速化しようと思えば
登録リンクの部分をINSERT命令に置き換える事でしょうか?
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約