H27 午後1 問3 設問1 (1)エ 副次索引

いがらしさん  
(No.1)
副次索引を用いた場合、テーブルには主索引順にデータが登録されているためランダムアクセスになると思ったのですが、回答では順次読み込むと書いてあります。

主索引を使う  =  順次アクセス
副次索引を使う  =  ランダムアクセス

ではないのでしょうか?

売上明細テーブルは売上明細連番順(主索引)に登録されているため、登録年月日で探そうとしても順次にならないのではないかと考えました。
2022.09.17 18:10
にゃんちゃんさん 
DB シルバーマイスター
(No.2)
売上明細ファイルの状態は以下の通りです。

登録年月, 加盟店コード, 利用年月日, ...
202208, A1001, 2022-07-29, ...
202208, A1001, 2022-07-30, ...
202208, A1001, 2022-07-31, ...
202208, B1002, 2022-07-20, ...
202208, B1002, 2022-07-22, ...

上記の状態で売上明細テーブルにINSERTします。
よって登録年月列は高クラスタな状態になっています。

よって副次索引{登録年月}では順次読み込みができることになります(エ)。

一方、結合先の利用残高テーブルについてはカード番号順に並んでいますが
売上明細テーブルから取り出す1行はカード番号順に取り出していません。
カード番号0001
カード番号0015
カード番号0006
カード番号0031
カード番号0003
・・・
とカード番号については順番に処理していないため
利用残高テーブルからページをランダムアクセスで読み込むことになります(オ)。
2022.09.17 23:35
いがらしさん  
(No.3)
にゃんちゃん様

確かに月次で登録するから登録年月順になっていますね…
「索引での検索」が出てきたら、テーブルの並び順をしっかり確認するようにします。

ご回答いただきありがとうございます。
2022.09.18 17:27

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop