いくつかの提案が必要なパフォーマンスの問題が発生しています (Oracle 10g R2 を使用しています)。状況は次のようになります。
1) レガシーシステムです。
2) 一部のテーブルでは、過去 10 年間のデータが保持されています ( は、最初のバージョンが公開されてからデータが削除されていないことを意味します)。現在、ほとんどの OLTP テーブルには、約 30,000,000 ~ 40,000,000 行あります。
3) これらのテーブルでの検索操作には、5 ~ 6 分かかります。( select count(0) from xxxxx where isActive='Y' のような単純なクエリには、約 6 分かかります。) 実行計画を確認すると、isActive 列でインデックス スキャンが行われていることがわかりました。
4) 必要のない古いデータのアーカイブとパージを提案しており、チームはそれに向けて取り組んでいます。5 年分のデータを削除しても、テーブルには約 15,000,000 ~ 20,000,000 行が残っており、それ自体が非常に巨大であるため、これらのテーブルにテーブル ポーションを作成することを考えましたが、ユーザーはほとんどのデータを検索できることがわかりました。これらのテーブルの列を UI から削除するため、テーブルのパーティション化の目的そのものが無効になります。
この状況を改善するために必要な手順は何ですか。