応用情報23年特別 午前 問31
【問題を解く前に】
技術要素→データベース→4. トランザクション処理→(4)データベースの性能向上
に
データベースへのアクセス効率向上のために,インデックスを有効に活用する考え方を理解する
とあります。この問題だと思います。
【解き方】
アについて
いや、そんなことはない。重複している値にインデックスを貼ってもOK
イについて
いや、そんなことはない。
まず、「追加」、「削除」に関しては、インデックスの書き換え分、遅くなる
(更新に関しては、インデックスが更新と関係あるかないかで違ってくる)
検索の場合
ある値ズバリを聞くような場合は、インデックスを貼ったほうが早くなる
しかし、ソートするような場合で、インデックスが単純に使えない場合は、
一時的にデータを展開してからソートするので、この場合は早くならない。
まとめると、一部の処理は早くなるが、他の処理は変わらないか、遅くなる。
しかし、早くなる処理(=検索)の重要性が高いのでインデックスを貼る。
ウについて
そんなきまりはない
エについて
できま〜す。アで書いたように、重複しているキーにも貼れる。
【答え】
エ
【解き終わって】
エの考えを突き進めると、じゃあ、検索早くしたかったら、全部インデックス貼れば?
ということになりますが、そうすると、今度、更新削除処理が重くなるという問題が
あります。
とくに、夜間バッチで更新削除処理をする場合、最悪、夜間バッチが突き抜ける結果に
なってしまいます。
つまり、インデックスを貼ることにより処理スピード向上と、
更新削除処理の遅さはトレードオフの関係にあり、
システム的な制約により、インデックスの最適数というのが決まってきます。
★(PR) まぐまぐでメルマガ始めました。以下のとおりです。よかったら、登録してくださいね!
●メルマガID:0001289711
【メルマガタイトル】 試験と実務の関連を説明する−実践!情報処理試験講座 メール版
【個別ページ】 http://www.mag2.com/m/0001289711.html