質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • SQL

    2469questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

  • Oracle

    612questions

    Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQLのanalyzeについて

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 808

tuntun

score 14

DBにanalyzeを行ったところ実行計画が前の方がよかったのですが、
analyzeを実行した後に戻すことは可能なのでしょうか?
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

アナライズして悪くなるということは、maisumakunさんがおっしゃる通り、SQLがかなり微妙なものになっているか、閾値ギリギリの抽出条件か、ということになりますね。

例えば
SELECT *
FROM Table_A
WHERE Key_1 > 10000
というSQLで Key_1 > 10000 でヒットする件数が全体の20%前後より多いと、統計情報から判断したときは、FULL SCAN になります。

実際、20%より多いなら、FULL SCAN の方が速くなる。

もし速くならないとしたら、初期パラメータでメモリーの配分がおかしい可能性もあり得ます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/05/26 13:58

    すいません、そもそもの話になるんですが、結局analyzeはDBを変更または更新するということなんでしょうか?
    そして何を変更または更新しているのでしょうか?

    キャンセル

  • 2015/05/26 14:11

    ANALYZEは、どのようなデータがどれだけ入っているかの統計情報を更新するコマンドです。DBのデータは何も変化しません。

    http://www.projectgroup.info/tips/Oracle/Oracle_000001.html

    キャンセル

  • 2015/05/26 14:19

    分かりました。もう一度インデックスの確認等をしたいと思います。
    ありがとうございました。

    キャンセル

0

analyzeの結果に頼るより、クエリに手を入れて安定した性能を出すようにしましょう。クエリチューニングの方法としては、
  • クエリ自体を書き換えて、最適なクエリが選ばれるような形にする
  • インデックスの取捨選択や、JOINの順序などを専用の構文で指定する
というような方法があります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/05/26 14:21

    回答ありがとうございました。
    これを基にチューニングを行いたいと思います。

    キャンセル

関連した質問

  • 解決済

    SQLの実行計画について

    SQLの実行計画について質問なのですが、 同じ内容のDBを参照して、実行計画の相違があるのですが、 原因がわかりません。 状況としては SQLの参照するDB→AさんのDB    

  • 受付中

    音楽データのBPMを解析したい

    iosで、任意のBPMの値に応じてitunesライブラリの中から、 BPMにマッチした曲を選択するというアプリを開発したいのですが、 曲のデータからbpmを解析する方法が知りた

  • 受付中

    WordPressのデバッグ

    WordPressでWebページを作成しておりますが、メニューバーが遅れて(5秒くらい)表示されています。 とりあえず、トップページに対して、Safariの[開発>ページのソ

  • 受付中

    この問題のプログラムはどうなるのですか?

    実現したいこと 初歩的な質問だとは思うのですが、答えていただけると幸いです 下の問題を解くとプログラムはどういう風になるのかプログラムを書いていただけると幸いです。 お願いし

  • 解決済

    AndroidStudioで未使用のファイル、メソッド、変数、リソースを削除したい。

    タイトル通りです。手動だと大変なので、使えそうなツール、プラグイン等あったら教えて下さい。

  • 解決済

    Lets Encryptを導入しましたがスマホエラーが発生します。

    CentOS7 Apache/2.4.6 の環境でLet's Encryptをインストールしました。 PCでは特に問題なく表示されているんですが、 スマホに関しては 「サ

  • 解決済

    postgresSQLでテーブルが作成できない

    前提・実現したいこと pgAdmin4を用いて、新しいテーブルを作成しようとしているがエラーが発生して作成できない。 発生している問題・エラーメッセージ TESTDBという名前

  • 解決済

    pagespeed APIのレスポンスを取得したい

    pagespeed APIの情報を取得したい 検索結果のプレビューを表示するChrome extensionを制作しています. やりたいこと ・コンソールにレスポンス(page

同じタグがついた質問を見る

  • SQL

    2469questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

  • Oracle

    612questions

    Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。