HOME»データベーススペシャリスト掲示板»R3PM1問2 設問1(2) 探索方法とバッファ
投稿する

[0549] R3PM1問2 設問1(2) 探索方法とバッファ

 peaさん(No.1) 
表題の件、確認させてください。
前提:バッファとは、一度ディスクから読み込んだデータを高速に読めるように保存している場所という認識

オーソリ履歴を表探索し、オーソリ履歴の各行の加盟店番号をキーに加盟店テーブルを索引探索する。
→バッファヒット率が0%なので、オーソリ履歴の行数分ランダムアクセスが発生
→→バッファを確保する場合、同じ加盟店を何回もランダムアクセスで検索していた所をバッファを参照することでディスクIOが減る認識で良いでしょうか。

また、表探索だとバッファを保持しても検索処理に影響がない理由としては
バッファで保持したデータがあっても、そのデータを再度参照することが無い為と思って良いでしょうか。

この問題については過去何度もスレッドが作成されており恐縮ですがかくにんさせてください(_ _)
2023.08.30 21:07
logres_fanさん(No.2) 
DB ブロンズマイスター
>バッファを確保する場合、同じ加盟店を何回もランダムアクセスで検索していた所をバッファを参照することでディスクIOが減る認識で良いでしょうか。
   細かい内部処理まではわかりませんが、概ね同意します。

> 表探索だとバッファを保持しても検索処理に影響がない理由としては
  順次アクセスの(SQL)処理時間は、CPU処理時間と入出力処理時間のうち最も大きい値になる。設問の場合、既にCPU処理時間と入出力処理時間は等しい。バッファを増やして、入出力処理時間をCPU処理時間より小さくしても影響しない。
2023.08.31 01:03
gawaさん(No.3) 
>バッファを確保する場合、同じ加盟店を何回もランダムアクセスで検索していた所をバッファを参照することでディスクIOが減る認識で良いでしょうか。
はい、そうです。バッファとは、RAM(主記憶、メモリ)に溜まっているデータのことで、プログラム実行中に一時的に確保される領域です。RAMとCPU間は高速なので、読み書きが速いです。なのでよく参照されるデータをバッファに置いておきましょうという話。一方、大元のデータはすべて補助記憶(HDDとかSSDとか)にあり、補助記憶との通信は遅いです。

>表探索だとバッファを保持しても検索処理に影響がない理由としては
バッファで保持したデータがあっても、そのデータを再度参照することが無い為と思って良いでしょうか
表探索の場合、バッファは一切見ずに、補助記憶に探しに行きます。結果として、バッファに保持していたデータは、「表探索結果」がメモリに順次展開されて、追い出される動きになると思います。
2023.09.12 21:44

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop