SQL Server のチューニングについてまとめてみる - その16 - ( BCP とか、一括系の操作を高速化してみる )
今日も移動時間を使用して、すばやく記事(文章雑になりがちww)を書きます。今日は関東暖かいですね♪
さて、今回はふとした思いからチューニングシリーズを再開させたいと思います。その15で止まってました。
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com
それ以外にも色々なチューニングに関する記事も書いていますので、是非ご覧ください。
ryuchan.hatenablog.com
業務システム更新時などの悩みの一つに、『データの移行』があります。業務システムを新しくする場合、旧システムのデータをきちんと継続させるのは非常に重要なことですが、非常に骨の折れる作業ですよね。精神的にも辛いですよね、わかります....そこで、今回は BCP コマンドを例に使って高速化をしますので、BCP の使い方がよくわからない方は下記の記事を参考にしてください。
ryuchan.hatenablog.com
早速試してみましょう。下記のコマンドをコマンドプロンプトで実行し、データをファイルに出力しましょう。
bcp AdventureWorks2016CTP3.Sales.OrderTracking out "C:\exportfile.txt" -c -S localhost -T
SQL Server Management Studio で下記のコマンドを実行し、Sales.OrderTracking のデータを消去します。
TRUNCATE TABLE Sales.OrderTracking
先ほどエクスポートしたデータをインポートします。下記のコマンドをコマンドプロンプトで実行します。
bcp AdventureWorks2016CTP3.Sales.OrderTracking in "C:\exportfile.txt" -c -S localhost -T
再度、TRUNCATE し、下記のコマンドを SQL Server Management Studio で実行後に BCP コマンドを実行します。
DBCC TRACEON(610,-1)
トレースフラグの状態を確認するため、下記のコマンドを SQL Server Management Studio で実行します。
DBCC TRACESTATUS
再度下記のコマンドをコマンドプロンプトで実行します。
bcp AdventureWorks2016CTP3.Sales.OrderTracking in "C:\exportfile.txt" -c -S localhost -T
結果は下記の通りです。
- 610 のトレースフラグが OFF のとき
3015m - 610 のトレースフラグが ON のとき
2765m
何回か試してみましたが、結果として1割から1.5割程度高速化されました。大量データの一括操作にはかなりの効果がありそうです。
高速化大事。
- 作者: 北山洋幸
- 出版社/メーカー: カットシステム
- 発売日: 2016/01
- メディア: 単行本
- この商品を含むブログを見る