-PR-
解決済み

Oracleでの検索スピード

  • すぐに回答を!
  • 質問No.112976
  • 閲覧数302
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 35% (5/14)

質問です。
テーブルのレコード数の増加に伴い、テーブルのExtentの数が200を超えてしまいました。検索のスピードもどんどん遅くなってきています。
このようにExtentが増加することによりが検索スピードに影響を与えるものでしょうか?

また、検索スピードを上げるためにはどうしたらよいのかも教えてください。索引をはったり、Analyzeを実行したりしようかとも考えていますが、どのような方法が有効であるのか分かりません。

よろしくお願いします。

以上
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル10

ベストアンサー率 42% (79/186)

Extentが増えると、データが断片化されるため、当然、スピードは低下します。

検索スピードを上げる方法としては、大きく次のようになります。

索引のチューニング
SQL文のチューニング
ディスクI/Oのチューニング
メモリーのチューニング
OSのチューニング

となります。(上に行くほど効果が大きい)
基本は、索引とSQL文のチューニングになりますが、3番目のディスクI/OのチューニングがExtentの問題になります。
特に、全件検索が多く(索引を使えない検索)削除などが多い場合に有効になります。その場合は、基本的には、テーブルの再作成(テンポラリテーブルを使ってする方法)があります。
私も、削除が非常に多いテーブルに対し、これを行うことで10倍ぐらいのパフォーマンスを得ることができました。
お礼コメント
mymilky

お礼率 35% (5/14)

ありがとうございました。
検討してみます。
投稿日時 - 2001-08-03 09:52:05

その他の回答 (全3件)

  • 回答No.1
レベル11

ベストアンサー率 29% (74/253)

一般的な傾向として、レコード数が増加すればする程、検索のレスポンスは
悪化する傾向があります。これはExtentが増加しないように大きめの
テーブルスペースを確保していても発生する現象です。

Oracleのバージョンが書かれていないので、Oracle8以上を前提にコメント
しますが、データ量が非常に大きいテーブルをアクセスする場合、データを
複数のテーブルスペースに分割して格納する方法(パーティションテーブル)
が一番効果があります。

もちろん、それ以前に最適なインデックスを作成するなどの一般的なチュー
ニングも必要です。
Oracleのチューニングのスキルがある人がOracleのログを解析すれば、
どういうチューニングが効果的かはだいたい判別できます。

ご自分でスキルが足りなければ、Oracleに精通したSI会社にチューニング
の部分を外注することをオススメします。
お礼コメント
mymilky

お礼率 35% (5/14)

ありがとうございました。
検討してみます。
投稿日時 - 2001-08-03 09:55:23


  • 回答No.2
レベル11

ベストアンサー率 38% (130/334)

バージョン8以上のことは分からないのですが、一番始め
に考えるのは、やはりインデックスをはることでしょう。

うまくやれば、検索時間を数分の1から数十分の1に縮め
ることができます。

RDBに精通した人がやるのが望ましいのですが、原始的
(?)には、速くしたいSQL文のWHERE句にでてくる項目
を、上から順にインデックスのCREATE文に書いてしまえ
ばいいでしょう。

あまり多くの項目にインデックスの項目をはると、insert
文が遅くなるかもしれませんが、その時はあまり値の変化
しない項目(例えば「性別」のような)をインデックスか
ら外していけばいいと思います。

インデックスの効果があまりないような場合は、専門家に
依頼するのが一番でしょう。

副問い合わせを使いたくなるような複雑な検索では、SQL
文の巧拙によっても検索時間がまったく変わりますが、
書き直すと再テストが必要になってしまいますので、これ
は質問の範囲外でしょうね。
お礼コメント
mymilky

お礼率 35% (5/14)

ありがとうございました。
やはりインデックスが有効なのですね。
検討してみます。
投稿日時 - 2001-08-03 09:53:13
  • 回答No.4
レベル9

ベストアンサー率 19% (15/78)

インデックスをはるのは検索に関しては効果的ですが、有効なはり方をしないと更新のスピードに影響を与えますのでご注意下さい。
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


専門家があなたの悩みに回答!

ピックアップ

ページ先頭へ