データベーススペシャリスト掲示板


[0420] H25午後1問3設問3(3)

 あっくんさん(No.1) 
H25午後1問3設問3(3)の答えは「C,A,B 又は A,B」となっているのですが、「A」だけでは不正解でしょうか?
A:不要な行の削除,B:再編成,C:統計更新処理
Bの再編成が何のために必要なのかが理解できません。
2022.09.30 21:06
にゃんちゃんさん(No.2) 
DB・シルバーエキスパート
テーブルのデータを更新・削除・挿入すると
テーブルのレコードがスッカスカのページができたり
並び順がぐちゃぐちゃになったりします。
そのまま放置するとせっかくの索引探索も効果半減(場合によっては表探索より遅くなるらしい?)なので、「再編成」という処理を加えます。

指摘事項Aの処理時間を短縮したい、効率的なデータ格納のために日次で再編成するようにしています。
統計情報の更新(C)は、とりあえずオプティマイザーが索引探索を選んでくれればいいやという考えで、CABでもABでもOKとしているんだと思います。
2022.09.30 22:42
 あっくんさん(No.3) 
にゃんちゃん様
返信ありがとうございます。
該当テーブルを全行削除した後でも、再編成することに意味はあるのでしょうか?
全行データ削除したのであればデータが無いので再編成する意味が無いと考え、答えは「A」だけでも良いと考えました。
2022.10.01 10:14
GinSanaさん(No.4) 
DB・シルバーエキスパート
truncateで全行削除しつつ表に割り当てられた領域を解放しているなら、再編成はいらない。
がdeleteで全行削除した場合は表に割り当てられた領域(データを格納しているセグメント及びページ)は解放されないので再編成がいる。

行削除にはdeleteを使うとP25にあるので、再編成は必須になる。
2022.10.01 12:02
 あっくんさん(No.5) 
GinSanaさま
行削除にはdeleteを使うという記載が、ここで関係してくるのですね。
再編成が必要な理由がよくわかりました!
ありがとうございました。
2022.10.01 14:42

返信投稿用フォーム

スパム防止のために初投稿日から30日経過したスレッドへの書き込みは禁止しています。

© 2016-2022 データベーススペシャリストドットコム All Rights Reserved.

Pagetop