応用情報23年特別 午前 問31

【問題を解く前に】
技術要素→データベース→4. トランザクション処理→(4)データベースの性能向上


データベースへのアクセス効率向上のために,インデックスを有効に活用する考え方を理解する

とあります。この問題だと思います。

【解き方】
アについて
 いや、そんなことはない。重複している値にインデックスを貼ってもOK

イについて
 いや、そんなことはない。
 まず、「追加」、「削除」に関しては、インデックスの書き換え分、遅くなる
 (更新に関しては、インデックスが更新と関係あるかないかで違ってくる)

 検索の場合
  ある値ズバリを聞くような場合は、インデックスを貼ったほうが早くなる
  しかし、ソートするような場合で、インデックスが単純に使えない場合は、
  一時的にデータを展開してからソートするので、この場合は早くならない。

 まとめると、一部の処理は早くなるが、他の処理は変わらないか、遅くなる。
 しかし、早くなる処理(=検索)の重要性が高いのでインデックスを貼る。

ウについて
 そんなきまりはない

エについて
 できま〜す。アで書いたように、重複しているキーにも貼れる。

【答え】

【解き終わって】

 エの考えを突き進めると、じゃあ、検索早くしたかったら、全部インデックス貼れば?
ということになりますが、そうすると、今度、更新削除処理が重くなるという問題が
あります。

 とくに、夜間バッチで更新削除処理をする場合、最悪、夜間バッチが突き抜ける結果に
なってしまいます。

 つまり、インデックスを貼ることにより処理スピード向上と、
     更新削除処理の遅さはトレードオフの関係にあり、
     システム的な制約により、インデックスの最適数というのが決まってきます。



★(PR) まぐまぐでメルマガ始めました。以下のとおりです。よかったら、登録してくださいね!
●メルマガID:0001289711
 【メルマガタイトル】 試験と実務の関連を説明する−実践!情報処理試験講座 メール版
 【個別ページ】 http://www.mag2.com/m/0001289711.html