データベース
■ このスレッドは過去ログ倉庫に格納されています
0077デフォルトの名無しさん
NGNGそれは当然だよ。
テーブルにレコードを更新すると同時にインデックスも自動更新する。
だから インデックス付けていると更新時には遅くなる。
だけど、テーブルからセレクトする時はインデックスからレコードの位置を
特定するから速くなる。
だから、インデックスをつける時は、更新処理と読み込み処理と天秤にかけて
どちらを優先するかを決めて付けないと駄目だよ。
レスを読んでると oracle8iからインデックスのenableを変更できるなら
バッチで大量にデータを書き込む時にインデックスを無効にしておけば速くなるよね。
それで、更新が終わったらenableを有効に戻す。
有効にした段階で、RDBが再びインデックスを再構築する。
大量データを更新しながらインデックスも 同時に更新するよりこの方法の方がパフォーマンスは上がるよ。
レコード情報を書き込むディスクドライブとインデックスを書き込むディスクドライブは
基本的に別にしておかないと駄目だよ。
インデックスも種類があって b-treeインデックスからbitmapインデックス等
そのデータの性格に合わせて付けてあげると効果があるね。
■ このスレッドは過去ログ倉庫に格納されています