テキストファイルからの取り込みを高速化するとしたら・・・
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
fjksudou様、それはとてもいいですね。
教えてくださり有難うございました。
件数少ない場合は、それも用いたいと思います。
今回は、1000万件といったCSVを
ユーザー様が取り込む案件でしたので
その方法は適さないでしょうね。
教えてくださり有難うございました。
件数少ない場合は、それも用いたいと思います。
今回は、1000万件といったCSVを
ユーザー様が取り込む案件でしたので
その方法は適さないでしょうね。
投票数:0
平均点:0.00
fjksudou
投稿数: 180
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
外部ツールで、よくEXCELとSQL Server Management Studioを使用します。
テーブルのレイアウトに合わせてエクセルを作ります。
追加したいテーブルのプロパティで右クリックして、上位200行の編集をクリックします。
表示されたウインドウの最下部に移動すると追加できる行ができます。
そこに、エクセルのデータをコピーして、貼り付けします。
一回こっきりのマスタ作成等はこれで簡単にできますよ。
テーブルのレイアウトに合わせてエクセルを作ります。
追加したいテーブルのプロパティで右クリックして、上位200行の編集をクリックします。
表示されたウインドウの最下部に移動すると追加できる行ができます。
そこに、エクセルのデータをコピーして、貼り付けします。
一回こっきりのマスタ作成等はこれで簡単にできますよ。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
年に数回しか使わないので外部ツールもいいのでしょうね。
でもどんなツールがあるのか知らないですけど。
でもどんなツールがあるのか知らないですけど。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
1,000万件のレコード入力を定時処理で行うのであればMagicを使う
必要があるかと思いますが、マスターテーブルとかの作成で1回
こっきりの処理であれば外部ツールを使ったほうが楽そうですね。
必要があるかと思いますが、マスターテーブルとかの作成で1回
こっきりの処理であれば外部ツールを使ったほうが楽そうですね。
投票数:0
平均点:0.00
mizuno
投稿数: 58
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
nkmt様
その方法でOKです。
その方法でOKです。
投票数:1
平均点:10.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
mizuno様、お世話になっております。
アドバイスありがとうございます。
今回の場合、途中途中でのコミット差支えないです。
SQLコマンド INSERT文を試す前に
グループ毎トランザクションを試してみます。
これは COUNTER(0) MOD 10000 となった時にでも
疑似グルーピング用の変数をカウントアップなどして
それをグルーピング項目に指定すればいいのでしょうね。
アドバイスありがとうございます。
今回の場合、途中途中でのコミット差支えないです。
SQLコマンド INSERT文を試す前に
グループ毎トランザクションを試してみます。
これは COUNTER(0) MOD 10000 となった時にでも
疑似グルーピング用の変数をカウントアップなどして
それをグルーピング項目に指定すればいいのでしょうね。
投票数:0
平均点:0.00
mizuno
投稿数: 58
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
別の投稿から1000万ほどのレコード書込みということだと思います。
Insert命令というのは「SQLコマンド」でということでしょうか。
uniPaaS以前ではあまり効果がありませんでした。
全件でトランザクションかけているのであれば、これを割ってあげれば早くなります。
(トランザクションの開始を「タスク前の前」に設定しているのであれば「グループ」に変更して(例えば)1万件毎にコミットする)
処理途中でコミットしても問題ないということであればですが。
Insert命令というのは「SQLコマンド」でということでしょうか。
uniPaaS以前ではあまり効果がありませんでした。
全件でトランザクションかけているのであれば、これを割ってあげれば早くなります。
(トランザクションの開始を「タスク前の前」に設定しているのであれば「グループ」に変更して(例えば)1万件毎にコミットする)
処理途中でコミットしても問題ないということであればですが。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
そうですね。
今回の場合はDBDEL後のINSERTという事もあり
共有=Noは使えます。
今回の場合はDBDEL後のINSERTという事もあり
共有=Noは使えます。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
的外れかもしれませんが書き込みを早くするのであれば共有をN=なしにするくらいでしょうか
業務中では使用できないと思いますが・・・
業務中では使用できないと思いますが・・・
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
普通の入出力ファイルで、CSVファイルを読み込み
同一タスク内で
登録リンクでSQL Serverのデータへ書き込む。
これを高速化しようと思えば
登録リンクの部分をINSERT命令に置き換える事でしょうか?
同一タスク内で
登録リンクでSQL Serverのデータへ書き込む。
これを高速化しようと思えば
登録リンクの部分をINSERT命令に置き換える事でしょうか?
投票数:0
平均点:0.00