並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 7 件 / 7件

新着順 人気順

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

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

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

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

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

        クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
      • PostgreSQLの実行計画の推定行数と実行数の乖離改善の考え方

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

          PostgreSQLの実行計画の推定行数と実行数の乖離改善の考え方
        • 良い戦略は実行計画を含む|himara2

          こんにちは!プロダクトマネージャーのひまらつ(@himara2)です。 「戦略」とはどこか掴みどころのない言葉です。会社の事業戦略を考えたりそれをプロダクト戦略に落とし込んだりを定期的に行っていますが、戦略とは何を考えることなのか、いまいち解像度があげきれずにいました。 最近、プロダクトの行く先を考えるなかでその意味するところが少しわかった気がしました。戦略とは何か?戦略を立てるときに何に気をつければよいのか?このnoteで自分の理解を整理してみます。 戦略とはなにか?戦略とは「目的地に向かうルートを決めるもの」、というのが自分の理解です。 目的地というのは、大きく捉えればビジョンです。「こういう世界をつくりたい」というビジョンを叶えることが事業の最終的な目的地といえます。 もう少しミクロだと、事業として重要な地点にいくことが目的地です。PMFするとか、広く市場に受け入れられるとか、グロー

            良い戦略は実行計画を含む|himara2
          • PostgreSQL 16からプリペアド文の汎用的な実行計画を確認できるようになりました EXPLAIN (GENERIC_PLAN) | DevelopersIO

            PostgreSQL 16からプリペアド文の汎用的な実行計画を確認できるようになりました EXPLAIN (GENERIC_PLAN) PostgreSQL 16からプリペアド文の汎用実行計画を EXPLAIN (GENERIC_PLAN) で確認できるようになりました(3c05284d83)。 この機能をご紹介します。 test=> select version(); version ------------------------------------------------------------------------------------------------------------ PostgreSQL 16beta1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-1

              PostgreSQL 16からプリペアド文の汎用的な実行計画を確認できるようになりました EXPLAIN (GENERIC_PLAN) | DevelopersIO
            • Salesforceからエンジニアになった人が学ぶWebシステムの基礎 〜データベースのインデックスと実行計画〜 - Qiita

              インデックスの詳細解説 インデックスの役割 たとえば漢字辞典において「『氵』を部首とする漢字をしらべたい」という時に「部首」という属性で索引を持っていると便利なように、検索対象となる属性の値をもとにインデックスは通常作られます。そして、漢字辞典で「部首」の索引と「よみ」の索引が別々にあるように、インデックスは通常その属性ごとに作成されます。 このような辞書的な索引のインデックスは属性値が何かの値に一致するデータを検索するためのものでしたが、それ以外にもたとえば数値や日付時刻属性をもつデータに対してある範囲内の属性値をもつデータを取得したい、というような場合にもインデックスは使われます。 さらに、インデックスは、ある属性の値でデータを並び替えしたい、というような場合にも利用できます。後で述べますが、インデックスという仕組みはあらかじめその属性の値でデータを並べておくようなものなのです。インデ

                Salesforceからエンジニアになった人が学ぶWebシステムの基礎 〜データベースのインデックスと実行計画〜 - Qiita
              • MySQL SQLパフォーマンス改善 -実行計画の確認ポイント-

                本記事の目的 本記事では MySQL(InnoDB) の SQL 性能調査・改善のために、実行計画の主要な確認ポイントを整理します。 また、SQL の重要な要素であるインデックスについても基本を簡単におさらいします。 なお、MySQL 実行計画の各種項目の意味は公式サイトに記載があるが、ぱっと見た時にどれが SQL の性能において重要度が高いのか少しわかりずらかったりしたので、今後のためにも記事に残すことにしました。 SQL パフォーマンスまわりで参考になった書籍や記事も最後に紹介していますので、ぜひそちらも合わせて参考にしてみてください。 インデックスとは インデックスはデータベースの中で特有の構造を持ち、CREATE INDEX 文で作成可能です。 SQL の性能に関わる重要な要素です。 データベースのインデックスは、分厚い紙の辞書から特定の用語を検索することに似ています。あらかじめ順

                  MySQL SQLパフォーマンス改善 -実行計画の確認ポイント-
                1