- PR -

ロックリソースの[BULK-OP-DB]とは?

投稿者投稿内容
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-08-05 10:31
引用:

あいこさんの書き込み (2005-08-04 18:58) より:

正確には把握できていませんが、恐らく50万レコードぐらいだと思います。
1レコードは40バイト程です。インデックスは付けておりません。

「SELECT INTO」で一時テーブルを作成する事に問題があるのでしょうか?




おつかれさまです。

40Byte × 50万でしたら,20MB程ですか?
これでしたらさほど大きいわけでもないですね。

tempdb が悪いのだとしたら,まずは tempdb の割り当て領域と自動拡張量を確認してみてください。

ただ,さほど大きいものを入れているわけではなさそうなので,
SELECT INTO が悪いとも言い切れません。

tempdb ですから,SELECT INTO した後に何か処理をしているのでしょうから,
SQL プロファイラでプロセスを監視して,どの処理にどれだけ時間がかかっているか,
本当の原因はどのプロセスなのかを特定したほうがよいと思います。

あと,こちらなど参考にされてはいかがでしょうか。

http://www.microsoft.com/japan/technet/prodtechnol/sql/70/maintain/dat410ef.mspx

http://www.microsoft.com/japan/technet/prodtechnol/sql/70/maintain/dat412ef.mspx

----------
TimberLandChapel
http://blogs.timberlandchapel.com/
あいこ
会議室デビュー日: 2005/08/02
投稿数: 7
投稿日時: 2005-08-05 12:36
お世話になります。

本日、ユーザー環境のデータを採取して、社内の開発環境で再現を試してみました。
結果、現象は再現しませんでした。

プロファイラで処理をトレース出来れば、何か手掛かりが掴めると思うのですが、
現象が再現しない為、難航しております。

直接の原因究明は諦めて、tempdbの使用をやめようと考えております。
特に、tempdbの一時テーブルでなくてもよい処理ですので...

厄介な問題ですね。

TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-08-05 15:09
開発環境では再現しなかったということは,やはり,

本環境下で動作しているプロセス同士の衝突によるパフォーマンスダウンですかね。
こうなってくると,
クライアントにお願いして,本環境下でのプロセスの相互影響を監視するか,
自前の開発環境で本環境を再現するなどしなければならないですね。

いずれにしろ,
まずはプロファイラによるログの収集が初期対応ではないでしょうか。

tempdb を使用しない書き換え,がんばってください。
_________________
あいこ
会議室デビュー日: 2005/08/02
投稿数: 7
投稿日時: 2005-08-05 23:09
1点、質問させて下さい。

ユーザー環境の tempdb は、自動拡張が指定してあります。
自動拡張がされたか?という事はログ等で確認可能でしょうか?
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-08-07 14:36
引用:

あいこさんの書き込み (2005-08-05 23:09) より:
1点、質問させて下さい。

ユーザー環境の tempdb は、自動拡張が指定してあります。
自動拡張がされたか?という事はログ等で確認可能でしょうか?



お疲れ様です。
自動拡張は
・データのふくらみが予測できない
・データのふくらみを設計時に意識しなくてすむ
ように,設けられているのだと思います。

これが発生したかどうかをロギングしている箇所は無いと思います。
実際にはクエリ実行前と実行後の領域を比べればわかる話ですし。

お使いのクエリの先頭,最後に

exec sp_spaceused
DBCC SQLPERF(LOGSPACE)

による使用サイズを記録する機能を追加して確認してはいかがですか?
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-08-10 12:56
SQL プロファイラで

データベースイベントの
FileAutoGroth

を拾ったほうが簡単でしたね。

_________________

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