並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 6 件 / 6件

新着順 人気順

実行計画の検索結果1 - 6 件 / 6件

  • SQLの実行計画の読み方 |

    今回は、SQLを書く上で特にパフォーマンスに影響のあるSQLの実行計画の読み方について解説します。実行計画はデータベース製品によってさまざまに差異がありますが、ここでは比較的どのデータベース製品でも共通する内容について解説します。 実行計画とは記述したSQLが実際にデータベースの内部でどのように処理されて結果を返すか、その処理方法を記述した情報です。 A5:SQL Mk-2では、SQLエディタで実行計画を見たい SQL の上にキャレットがある状態でメニューから [SQL(S)] – [SQLの実行計画(J)] または、Ctrl+E で表示できます。 表示の仕方はデータベース製品ごとに異なりますが、多くのデータベース製品ではツリー状の情報として表現されます。(このため A5:SQL Mk-2でもツリービューで実行計画を表示します。) ツリーのリーフ(端)から処理が行われ、ルート(根)に向かっ

    • MySQLとOracleの実行計画を比較してみた - ASMのきもち

      まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLとOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

        MySQLとOracleの実行計画を比較してみた - ASMのきもち
      • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

        SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

          クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
        • MySQL実行計画の簡易検査ツールの開発とCIへの組み込み - ZOZO TECH BLOG

          こんにちは、ECプラットフォーム部の権守です。普段はID基盤やAPI Gatewayの開発を行い、ZOZOTOWNのリプレイスに携わっています。 本記事では、ID基盤で開発・導入したMySQL実行計画の簡易検査を行うツールを紹介します。 ツール開発の経緯 RDBにおけるテーブル設計は利用するクエリに応じて適切なインデックスを設定するなど専門的な知識を必要とし、設計できる人が限られてきます。しかし、アプリケーション上で利用されるクエリは機能の追加・改修に伴って日々変化していくため、それら全てに目を通し、漏れなく適切な設計することは困難です。そこで、専門的な知識がなくても設計に問題がないかの簡易的な検査を行えるツールを開発し、CIに組み込むことで自動的に問題を検出できるようにしました。 ツール開発のアプローチ ID基盤ではDBMSとしてAmazon Aurora MySQLを使用しています。そ

            MySQL実行計画の簡易検査ツールの開発とCIへの組み込み - ZOZO TECH BLOG
          • PostgreSQL のインデックス肥大化と実行計画のコストへの影響 - ぱと隊長日誌

            お知らせ 本記事をベースに新しい記事を公開しました。 PostgreSQL インデックス肥大化とインデックスコストへの影響(再モデル化) - ぱと隊長日誌 新しい記事ではインデックスコストモデルの正確性を向上させました。 新しい記事を参照いただけますと幸いです。 概要 PostgreSQL のインデックスサイズは一度大きくなると、その後小さくなるタイミングが限られています。 「[改訂新版]内部構造から学ぶPostgreSQL-設計・運用計画の鉄則」でインデックスファイルサイズが小さくなるのは以下のタイミングとしています。 DROP INDEX でインデックス自体を削除した場合 TRUNCATE TABLE でテーブル全体を空にした場合 REINDEX でインデックスを再構成した場合 [改訂新版]内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design p

              PostgreSQL のインデックス肥大化と実行計画のコストへの影響 - ぱと隊長日誌
            • PostgreSQLの実行計画の推定行数と実行数の乖離改善の考え方

              はじめに 以前こんなツイートをしました。 すると、リプライで色々とコメントを頂きました。(疑問を投げかけたら答えてくれる方々、本当にいつもありがたいです🙇‍♂️) ということで、本記事では推定行数と実際の行数の乖離を減らすために何をやったのかを備忘として書きます。 ただ、実際のSQLや実行計画を書くことはできないので、あくまでどんな考え方をしたのか、ということを書きます。 対処法①(対象のテーブルのautovacuum頻度を変更) 対象のテーブルはかなり更新の激しいテーブルだと聞いていたので、まずは統計情報が最新化されているかを考えました。 更新が激しくてautovacuum時の自動ANALYZEが追い付いていないんじゃないかと考え、対象のテーブルだけ自動ANALYZEの頻度が上がるように設定を変更しました。 PostgreSQLの設定パラメータは基本的にはpostgresql.conf

                PostgreSQLの実行計画の推定行数と実行数の乖離改善の考え方
              1