• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:負荷試験の後重くなります。。。)

負荷試験後にテーブルのSELECTが重くなる問題

このQ&Aのポイント
  • Oracleサーバ負荷試験の結果、テーブルのSELECTが重くなっている問題について解決法を教えてください。
  • テーブルの初期化サイズが大きいことが原因でテーブルのSELECTが重くなっている問題に対する最適化方法を教えてください。
  • テーブルのSELECTパフォーマンスが低下する問題に心当たりがある方は解決法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 > テーブルのSELECTがすごく重く・・・ Oracle は最終レコードと言う管理を行っていないため、 全件検索時は過去にデータが格納されていた所 (High Water Mark) まで検索が行われます。 データ削除前に900万件のレコードが入っていたため、たとえ全レコード を削除しても、900万件分の無効ブロックが読み込まれます。 > 心当たりがある方、解決法を教えていただけませんか? Delete ではなく、Truncate 文を使うと空きブロックの解放も 行われるので、性能が改善する筈です。 但し、Delete 文と違って条件を指定しての削除はできませんので 注意して下さい。 どうしてもDelete で削除した後に空きブロックの解放を行う 必要があるのであれば、「Alter table 表名 move」で 解放可能です。 但し、Alter table を行うと、該当表に定義されている索引が 無効になりますので、その後 「Alter index 索引名 rebuild」で索引も再作成して下さい。

suzukika
質問者

お礼

ご返事ありがとうございます。 Truncateですね^^ やってみます^^

関連するQ&A