2016-04-27 13 views
1

MS SQLトランザクションログを調べて問題を調査しています.1分間に1回の "user_transaction"内でSQL Viewオブジェクトに膨大な量のLOP_INSERT_ROWSおよびLOP_DELETE_ROWS操作があることがわかりました。ViewオブジェクトのLOP_INSERT_ROWSおよびLOP_DELETE_ROWS操作は何ですか?

ViewオブジェクトのLOP_INSERT_ROWSおよびLOP_DELETE_ROWS操作の意味は何ですか? Viewオブジェクトの作成と削除の操作を意味していますか?

ありがとうございました。私は上記の:

【2016年5月12日に更新]

以下はuser_transactionに(0f20ab9b 0000)です。それは10:00:12に始まり、10:01:44に終わります。 〜1.5分以内に3,000,000を超えるトランザクションログ操作を生成しました。このトランザクションの前半の99%は、PartitionId = 72057594040877056のLOP_DELETE_ROWS操作であり、このトランザクションの後半の99%は同じPartitionIdのLOP_INSERT_ROWS操作です。したがって The user_transaction begin

、私はそれがユーザー・ビュー・オブジェクト(ID = 125243501)であるオブジェクトの名前とIDは、次のクエリにより、このPartitionId = 72057594040877056に属しチェックし、クエリを示します。 enter image description here

誰もこの症状を見たことがありますか?

【2016年5月25日に更新]ビュー定義を以下に示す:

CREATE VIEW [dbo].[get_xxxxxxxxxxxxxxxxxxxxx_vw] 
WITH SCHEMABINDING 
AS 
    SELECT Apple.rr_id, Apple.r_date, Apple.r_num, Apple.rr_num, 
      Apple.h_code, Apple.j_code, Apple.t_code, 
      Apple.is_scratch, Apple.result, Apple.is_replaced, 
      Apple.draw, Apple.weight, Apple.rating, Apple.gear, 
      Orange.s_id, Banana.p_id, 
      Orange.l_index, Orange.e_index, Banana.c_key, 
      Grape.price, Grape.ss_id, Grape.price_time, Grape.price_trend, Grape.choice_id, 
      Banana.c_id 
    FROM dbo.Apple, dbo.Pear, dbo.Orange, dbo.Grape, dbo.Banana 
    WHERE Apple.r_date = Pear.curr_r_date 
    AND  Orange.c_id = Banana.c_id 
    AND  Banana.c_id = Grape.c_id 
    AND  Orange.rr_id = Apple.rr_id 

(私はすべてのソースコードを開示しているが、単にテーブル名をスクランブルすることができないことを申し訳ありませんが、としてコードは私によって書かれていません)。

+0

あなたが見ているもののスクリーンショットを投稿してください。 – TheGameiswar

+0

'LOP_INSERT_ROWS into 'は何かを教えてくれるように気を付けるべきですか?あなたはデータやインデックスなどを変更することができます...(何かのAllocUnitNameを見てください) – Hogan

+0

@TheGameiswarのtlogコンテンツのスクリーンショットが掲載されています。 – Elliott

答えて

1

これはメンテナンスされているインデックス付きビューです。これは完全に正常です。

メンテナンスの理由は、そのビューの基本表の1つが変更されているためです。 1つの基本表の行は、任意の量のビュー行に対応することができるため、書き込みアクティビティが爆発的に発生する可能性があります。

基本表で実行されるDMLの実行計画では、索引ビューのメンテナンスが行われます。

索引付けされたビューは、問合せ速度を向上させるためにDMLの速度、記憶域およびバッファプールの占有量をトレードオフします。それがあなたとの良いトレードオフであるかどうかを決定します。


スクリーンショットは、基本テーブル(行2)で修正された1つの行を示しています。これにより、ビュー内で大量の削除/挿入ペアが発生します。これは、基本表の変更された値によって、ビューの索引内の行が別の場所に移動するためです。

+0

はい!ありがとう!このビューには2つのインデックスがあり、 "Pear"テーブルが更新されるたびにLOP_DELETE_ROWSおよびLOP_INSERT_ROWS操作が多数生成されるたびにチェックしました。しかし、私はインデックスを削除すると、この症状は消えました。 :) – Elliott

関連する問題