
お世話になっております。
早速ですが、質問させていただきます。
ASP+SQLServer2000で社内システムの作成などを行っております。
ASP上から社員がデータを打ち込んでいるシステムがあるのですが、同時にSELECT、UPDATE、INSERT、DELETEを一つのテーブルで行っております。
その際、SELECTとUPDATE、INSERT、DELETEの処理がかぶると画面が固まったように処理が長くなります。
自分でわかる限りの原因としては検索レコードは10万件くらいからやっているのですが、SELECTで検索中にINSER、UPDATE、DELETE処理がくるとウエイト状態になり、異常に時間がかかってしまい、タイムアウトしてしまっています。
INSERTやUPDATEが処理かぶっても特に処理はとまらないのですが、先にSELECT処理していてINSERTやUPDATE処理がくるとまったく動かなくなってしまうのです。
こちらの原因とか少しでもわかる方いらっしゃれば、お知恵をお貸しください。
No.2ベストアンサー
- 回答日時:
現在使われているSelect文を以下のように変更して下さい。
SELECT * FROM [テーブル名] WITH (UPDLOCK,NOWAIT)
WITH句を書くことにより更新クエリを防ぐことができます。
詳しくは「更新ロック SQL Server」で検索下さい。
大変遅くなり申し訳ありません。
お教えいただいたとおり、WITH句をつけることにより、この問題は回避できました。
ありがとうございました。
No.1
- 回答日時:
リンクをご参考までに。
ブロッキングの回避は具体的なクエリなしにはコメントしづらいものです。
参考URL:http://technet.microsoft.com/ja-jp/library/aa178 …
大変遅くなり申し訳ありません。
ブロッキングに関して今回勉強させていただきました。
なお上でご回答いただいています、WITH句で問題回避できました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
object browser で処理を中断す...
-
DELETE文でFROM句を省略した場合
-
RDBのテーブル種類の違い
-
select for updateのロック
-
他の処理でselectさせないよう...
-
ActiveX DLLでのオラクルのトラ...
-
Data Pump で大量データインポ...
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
postgreSQLのint型は桁数指定が...
-
datapumpの実行方法について
-
SQLでスキーマ名(所有者名)の...
-
CLOB型へのINSERT
-
INDEXの無効化
-
スキーマの削除、スキーマオブ...
-
Access インポート上限について
-
列が255以上のCSVファイルをAcc...
-
前方一致が動的に変更される場...
-
DICの何番に相当するでしょうか?
-
Viewにインデックスは張れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DELETE文でFROM句を省略した場合
-
RDBのテーブル種類の違い
-
object browser で処理を中断す...
-
他の処理でselectさせないよう...
-
同じSELECT文同士でのデ...
-
Access2013で操作ログを残した...
-
統計情報の取得=コミットですか?
-
年度毎にシーケンスの初期化?
-
accessでイベントを中止するよ...
-
PL/SQLの平行処理について
-
[性能改善]AccessのDBに大量の...
-
ActiveX DLLでのオラクルのトラ...
-
Oracleから見たOracleの優位性(...
-
DBリンクエラーについて
-
Transactionで待機状態になりま...
-
チューニング対象のSQLの見つけ...
-
1件あたりの処理時間を検討する...
-
DMLロック解除待ち時間の指定は...
-
処理速度について(UPDATE)
-
同一レコード更新時の排他制御
おすすめ情報