スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NSD: NIF Collections

2009年08月04日 00:03

NSD の記事はありがたい、と言う人と全然分からなくて面白くない、と言う人の意見が二分していていつも悩みどころなのですが日本語の情報も少ないのと自分自身どこかにまとめておきたいと言う気持ちもあるのでもう少し続けます。(ちなみにあと2-3回かなあ・・と思っています)

今日は前回紹介した「NIF Collection User」と兄弟のような関係のあるセクションです。
まずは具体的な表示を見てみましょう。
今回も表示を見やすくするためにここでは一部長い列は折り返して表示しています。

古いフォーマット
----- NIF Collections ------
CollectionVB ViewNoteID UNID OBJID RefCnt Flags Options
------------ ---------- -------- ------ ------ ------ --------
[ 14: 4100] 654 5d48dcc0 382618 5 0x0000 00000000

Corrupt Deleted Temp NS Entries ViewTitle
------- ------- ---- --- ------- ------------
NO NO NO YES 0 ($VIMPeople)

CIDB = [ 22: 27652]
CollSem (FRWSEM:0x030b) state=0, waiters=0, refcnt=0, nlrdrs=0 Writer=[]
NumCollations = 1
bCollationBlocks = [ 10: 31300]
bCollation[0] = [ 11: 50692]
CollIndex = [15061: 64855]
Collation 0:BufferSize 15,Items 1,Flags 0
0: Ascending, by KEY, "$1", summary# 1
ResponseIndex [65535: 65534]
NoteIDIndex [65535: 65534]
UNIDIndex [65535: 65534]


新しいフォーマット
<@@ ------ Notes Data -> NIF Data -> NIF Collections (Time 16:48:51) ------ @@>

CollectionVB ViewNoteID UNID OBJID RefCnt Flags Options
------------ ---------- -------- ------ ------ ------ --------
[ 00012005] 1194 7ae747 1514 1 0x4000 00000008

Corrupt Deleted Temp NS Entries ViewTitle
------- ------- ---- --- ------- ------------
NO NO NO YES 0 ($CrossCertByRoot)


CIDB = [ 00031405]
CollSem (FRWSEM:0x030b) state=0, waiters=0, refcnt=0, nlrdrs=0 Writer=[ : 0000]
NumCollations = 1
bCollationBlocks = [ 0000d365]
bCollation[0] = [ 00013005]
CollIndex = [ 00000014]
Collation 0:BufferSize 51,Items 3,Flags 0
0: Ascending, by CATEGORY, "OrgCombo", summary# 1
1: Descending, by KEY, "IssuedBy", summary# 2
2: Descending, by KEY, "IssuedTo", summary# 3
ResponseIndex [ 03eafcec]
NoteIDIndex [ 03eafcec]
UNIDIndex [ 03eafcec]


ここで、CollSemとか FRWSEM:0x030b はCollection セマフォを示しています。
これがどういうものか?と言うと説明が難しいのですが複数のスレッドからのビューの更新などで予期しない更新が入ったりしないようにするためのセマフォだと考えてください。

全ての列は出せないのですが、それぞれ以下のような意味があります。
(NIF Collection Usersと同じものは説明を流用しています。。)


CollectionVB:
 CollectionをあらわすIDのようなものだと思ってください。実際にはCollectionのIDと言うと、hCollの値のほうがその意味に近いのですが、他のセクションとの突合せはここを使うのでここを押さえておきましょう。この値からNIF Collection Users との関連付けをします。

ViewNoteID:
ビューのNOTEIDです。

Refcnt:
ビューを開いているユーザーの数です。

Deleted:
 すでに削除されたビューである事を示しています。

Temp:
一時的に作成されたビューで、ディスクに保存されないようなビューである事を示しています。

NumCollations:
 ビューの「Collation」の数なのですが、クリックしてソート可能な列などがあると増えやすいのですが、一概には言えないので、ビューの複雑さをあらわす目安だと考えてください。

Ascending/Descending:
 ビューのソートされている列が昇順(Ascending)か降順(Descending)かを示しています。


NIF Collection Usersが「どのスレッドがこのビューにアクセスしているか」と言う視点であるのに対し、NIF Collections は「着目しているビューはどのようなビューか?」と言う事について可能な限りの情報を与えるものです。

何となくビューの複雑さや列の数なども想像できますし、ソート列の数などもここから推定する事が出来ますし、アクセスが多いビューである事も分かります。

なかなか活用は難しいのですが、NSDからビュー情報も以外に色々な情報が取れることが分かってもらえればよいのではないかと思います。



コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://hnagasim.blog8.fc2.com/tb.php/204-202ffd4d
    この記事へのトラックバック


    最新記事


    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。