日があいてしまいましたがインデックスの再構築時のロックの状態を見てみたいと思います。
– 再構築中のロックの取得 –
— ロックの取得状態をわかるようにトランザクションを開始 — インデックスの再構築の実施 — ロックの情報を取得 — トランザクションの終了 |
?
– 結果 –
database_name | resource_description | resource_type | resource_subtype | request_mode | request_type |
WORK | ? | OBJECT | ? | IX | LOCK |
WORK | ? | DATABASE | DDL | S | LOCK |
WORK | ? | DATABASE | ? | S | LOCK |
WORK | ? | OBJECT | ? | IX | LOCK |
WORK | ? | OBJECT | ? | IX | LOCK |
WORK | ? | DATABASE | ENCRYPTION_SCAN | S | LOCK |
WORK | (0000f26a94c1) | KEY | ? | X | LOCK |
WORK | ? | OBJECT | ? | IX | LOCK |
WORK | 1:55 | PAGE | ? | X | LOCK |
~ 省略 ~ | ? | ? | ? | ? | ? |
WORK | 1:118 | PAGE | ? | X | LOCK |
WORK | 1:119 | PAGE | ? | X | LOCK |
WORK | 1:114 | PAGE | ? | X | LOCK |
WORK | 1:115 | PAGE | ? | X | LOCK |
WORK | 1:115:4 | RID | ? | X | LOCK |
WORK | 1:115:5 | RID | ? | X | LOCK |
WORK | 1:127 | PAGE | ? | X | LOCK |
WORK | 1:115:6 | RID | ? | X | LOCK |
WORK | 1:115:7 | RID | ? | X | LOCK |
WORK | 1:115:0 | RID | ? | X | LOCK |
WORK | 1:115:1 | RID | ? | X | LOCK |
WORK | 1:115:2 | RID | ? | X | LOCK |
WORK | 1:115:3 | RID | ? | X | LOCK |
WORK | 1:120 | PAGE | ? | X | LOCK |
WORK | 1:151 | PAGE | ? | X | LOCK |
WORK | 1:148 | PAGE | ? | X | LOCK |
~ 省略 ~ | ? | ? | ? | ? | ? |
WORK | (0100274d67b6) | KEY | ? | X | LOCK |
WORK | (f200646e752e) | KEY | ? | X | LOCK |
WORK | (00005c180047) | KEY | ? | X | LOCK |
WORK | 1:464 | EXTENT | ? | X | LOCK |
WORK | 1:501 | PAGE | ? | X | LOCK |
WORK | 1:503 | PAGE | ? | X | LOCK |
WORK | 1:502 | PAGE | ? | X | LOCK |
WORK | (f100c9417efa) | KEY | ? | X | LOCK |
WORK | (0100e3362a07) | KEY | ? | X | LOCK |
?
何行かは省略していますが、RID や、PAGE 単位でロックがかかっています。
再構築の場合はかなり細かい粒度でロックが取得されていますね。
RID が取得されている個所は混合エクステントだからかと思ったのですが、ページ ID 114 も混合エクステントのため、
PAGE と RID の取得の違いまではつかめていません…。
PFS の内容が [0x70 IAM_PG MIXED_EXT ALLOCATED] か [0x60 MIXED_EXT ALLOCATED] の違いはあるのですが。
再構成と再構築では処理が違いますので、ロックのかけ方が違うということは確認ができたのかなと思います。
再構成と違ってあっさりとした投稿になってしまいました…。