プロが教える店舗&オフィスのセキュリティ対策術

使用するのは、Oracle9.2とOracle8.1.7です。

現在、大量のデータが登録されているテーブルがあります。
データが多すぎる為、今からINDEXを設定するのには非常に時間がかかり、サーバに負荷がかかる為、設定することはできません。
しかし、INDEXを設定していないフィールドでの検索を
定期的に行うことになりました。

普通に考えると無理な話ですが、
もしかしたら・・・と思い、質問させて頂きました。
よろしくお願いしますm(_ _)m

A 回答 (3件)

ALTER TABLE 句でCACHEがつけられればいいのですが、大量データでは無理ですかね?

    • good
    • 0

INDEXがないということは全表走査するということなんでしょうが、対策としてはdb_file_multiblock_read_countパラメータの値を32くらいにして再起動することくらいでしょうか。

    • good
    • 0

仮に単票形式でないのであればViewの利用とPL/SQLでかなり改善することができますが(集計用でしたら確実に向上…マテリアライズド・ビューの利用)



単票形式のレコードを単に所得するという場合は実際の検索自体に時間が取られているということになりますのでパフォーマンスの向上が難しいケースであると思います。

ともかく、Oracleの稼動状態、OSのリソース消費、処理時間(SQLで検索している実時間)を所得してどこに問題があるのか探すしかないでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!