並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 47件

新着順 人気順

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

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

      MySQLのEXPLAINを徹底解説!!
    • SQLの実行計画の読み方 |

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

      • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

        仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

          MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
        • 連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)

          IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc. Please open new issue/pull requests in either English or Japanese if you would have any feedback or you would like to contribute this repo. We provide mainly "Japanese contents" by markdown text. IBM Developerの最新情報は https://developer.ibm.com/ にアクセスし、英語のコンテンツを参照してください。 このリポジトリは、IBM Developer Japan Webサイトで公開していた

            連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)
          • PostgreSQLの実行計画を読み解くための参考資料集 - ぱと隊長日誌

            はじめに PostgreSQLは商用DBに比べて書籍が少なく、まとまった情報が入手しにくいです。また、有志の方がPostgreSQLに関する資料を公開していますが、散在しており、せっかくの有益な情報にアクセスしにくい状況にあります。 そこで、本エントリではPostgreSQLの実行計画に焦点を絞り、公開されている有用な資料(書籍含む)をまとめました。読み返したい資料を探しやすくするため、内容のポイントも併せて紹介してます。 本エントリをきっかけに、これらの資料がさらに活用されることを願っています。 前提 各資料の前提としているPostgreSQLのバージョンは異なることにご注意ください。調査対象のPostgreSQLのバージョンが異なれば、状況は変わっているかもしれません。 各資料には内容の重複があり、ほぼ同一内容の場合もあります。重複している内容についてはポイントから割愛することがありま

              PostgreSQLの実行計画を読み解くための参考資料集 - ぱと隊長日誌
            • UWP を Continuum に完全対応させるには? - 高橋 忍のブログ - MSDN Blogs

              In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

                UWP を Continuum に完全対応させるには? - 高橋 忍のブログ - MSDN Blogs
              • PHPerに知ってほしいRDBの事 その3

                PHPカンファレンス関西 2016の資料です。 http://conference.kphpug.jp/2016/

                  PHPerに知ってほしいRDBの事 その3
                • MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO

                  こんにちは、みかみです。 今日のクラスメソッドのAWSおみくじ、RDS(t1.micro)でしたー!(昨日は Aurora!@@v はじめに 前職@アプリ開発時、MySQL のクエリチューニングをさせていただく機会がありました。 ユーザー入力のキーワードで全文検索 → 見つかったレコードを返すのですが、所要時間、約3分。。 Apache タイムアウトして画面真っ白。。。(泣きそうでした><。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリの

                    MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO
                  • PostgreSQL チューニングよもやま話 - エムスリーテックブログ

                    【Unit4 ブログリレー3日目】 こんにちは,エムスリーエンジニアリンググループの榎田です.数学とテレビゲームが好きです. 今回は,Unit4 で運用している "Docpedia" というサービスで実施した SQL チューニングの実例を2つご紹介します.普段の私が意識していなかった, RDBMS の内部機構に関する話が登場して面白かったので,今回の記事を書きました. なお,本稿で扱う議論はすべて PostgreSQL 11.x 以上を対象としており,特にその他の RDBMS で同様の動作をするかは確認していません.定性的な挙動に共通するものはあるかもしれませんが,ここで述べた話はそのままは通らないであろうことをお断りさせてください*1. プロダクトについて index なしで意外と耐えたが,耐えきれなかった話 実際の SQL とテーブル定義 原因の分析 対応策 SELECT DISTIN

                      PostgreSQL チューニングよもやま話 - エムスリーテックブログ
                    • MySQLの物理削除によるパフォーマンスの悪化とその回避策について

                      ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして、Yahoo!ショッピングでシステム開発を担当している村上です。 Yahoo!ショッピングでは数億件にのぼる商品が日々更新されています。 今回はそれを支える巨大なDBの運用の中で遭遇したMySQLのアンチパターンと、回避した方法について紹介いたします。 特定のテーブルをJoinするとすごく遅くなる Yahoo!ショッピングでは商品を出品するためのツールがあります。 商品情報には「商品名」「価格」といった、任意で設定可能な項目のほか、「ブランド」「商品種別」など、製品ごとに入力する内容が決まっている項目を、マスター情報としてテーブルで管理しています。 このマスター情報を利用して、出品の際に入力情報が正確であるかどうか確か

                        MySQLの物理削除によるパフォーマンスの悪化とその回避策について
                      • MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.8.2 EXPLAIN ステートメント

                        SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント

                        • 実行計画の話

                          第14回 中国地方DB勉強会 in 福山の登壇資料です。 https://dbstudychugoku.github.io/events/event-014.html 合わせてこちらのYouTube動画を見ることをオススメします。 PGCon 2014 Tokyo【D3】PostgreSQ…

                            実行計画の話
                          • SQL実行時のブルームフィルタ(Bloom Filter)アルゴリズム | フューチャー技術ブログ

                            1. 初めにDBにおける処理はSQLによって記述しますが、データの取得するために具体的にどのような内部処理を行うかという点までは記述しません。 ここでいう内部処理とは「SQLの書き換え」「インデックスの使用」「結合アルゴリズムの選択」などがDBMSのオプティマイザによって選択されて実施されることを指します。 SQLのパフォーマンスを見るにあたっては上記の内部処理について正しく理解する必要があります。 本Blogでは、重要なアルゴリズムであるにもかかわらず、まとまった情報が少ないSQL実行時におけるブルームフィルタ(Bloom Filter)についてOracleをもとに紹介を行います。 Bloom Filterは結合処理を効率化するために、結合の前段階で利用される技術になります。 公式なドキュメントとしては以下になります。 Oracle Database SQLチューニング・ガイド 12cリ

                              SQL実行時のブルームフィルタ(Bloom Filter)アルゴリズム | フューチャー技術ブログ
                            • 統計情報の取得と実行計画の固定について - SQL> shutdown abort

                              さて、今回は多くの人が悩まされる統計情報と実行計画について、 お話していきたいと思います。 なお、基本的に対象のVerは10.2です。 なので、10.1でも通じるものはあると思いますが、 9.2以前の方は他を当たってください。 11.1以降の方もこの絡みだと、SPM(SQL Plan Management)とか新機能があるので、 他(インサイトテクノロジーとか)のサイトを当たってみてください。 では本編へ。長いぞー。 10gR1から、オプティマイザ統計の自動収集という機能が 新たに追加されてまして、デフォルトで動作する状態になっています。 まず、ここから説明しておきたいと思います。 10gから、RBOがサポートされなったため、ユーザはCBOを使用しなければなりません。 CBOは統計情報を元に実行計画を作成するため、ユーザが何も意識しなくても、 統計情報が取られた状態で、CBOが使えるように

                                統計情報の取得と実行計画の固定について - SQL> shutdown abort
                              • SQL実行計画の疑問解決には「とりあえずEXPLAIN」しよう

                                EXPLAINステートメントとは EXPLAINは、SQLの実行計画に関する情報を取得するためのステートメントです。実行計画とは「どのインデックスを使って(あるいはインデックスを使わずにテーブルスキャンで)クエリーを処理するか」をMySQLが判断した結果のことです。「インデックスはちゃんと使われているだろうか」「インデックスでどこまでクエリーを効率的に処理できているだろうか」という疑問が湧いた時には、「とりあえずEXPLAINで」となりますよね。 EXPLAINのマニュアルはこちらに、EXPLAIN の出力結果のカラムの意味についてはこちらに記載があります。 EXPLAINの何を見るか たとえば、次のような重いクエリーがあったとしましょう。 mysql> SELECT COUNT(some_column) FROM some_table WHERE some_column = xxx; +

                                  SQL実行計画の疑問解決には「とりあえずEXPLAIN」しよう
                                • SQLチューニングの基盤となる統計情報

                                  SQL*PlusのAUTOTRACE機能 AUTOTRACEはSQL*Plusの機能で、SQLの実行計画、および実行時に必要としたシステムリソース(これを実行統計と呼びます)などを簡単に確認することができます。また、SQLトレースには含まれないメモリソート、ディスクソートの発生回数なども確認できます。 AUTOTRACE機能の設定方法 AUTOTRACE機能を使用するためには、初回のみ事前準備作業が必要になります。ここでは、例としてSCOTTユーザーに対して設定を行ってみます。 1. SYSユーザーでplustrce.sqlを実行し、PLUSTRACEロールを作成する $ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> @$ORACLE_HOME/sqlplus/admin/plustrce.sql

                                    SQLチューニングの基盤となる統計情報
                                  • 実行計画の操作一覧 - オラクル・Oracleをマスターするための基本と仕組み

                                    実行計画の操作の内容一覧 パフォーマンスチューニングマニュアルや tkprof などの実行計画の読み方に記載されているものは誤字と記載漏れらしきものがそこそこあった。 マニュアルに記載されている以外にもステートメント自体のオペレーター、メモリ内ソートや WINDOW 操作など多くのオペレーターとオプションがあり、ネット上で調べた範囲では 合計で 約 200 以上ある。 パフォーマンスチューニングマニュアルに記載されている一覧+独自補足 結合処理に関する実行計画

                                    • MySQL EXPLAINのそれぞれの項目についての覚書 - Qiita

                                      id/select_type/table どのテーブルがどの順番でアクセスされているか id 実行順番を表す 数字が同じなら複数のクエリが1つのクエリとして実行されている select_typeの詳細 SIMPLE 単一のテーブル サブクエリが絡む場合 PRIMARY 外部クエリ SUBQUERY 相関関係の無いサブクエリ DEPENDENT SUBQUERY 相関関係のあるサブクエリ UNCACHEABLE SUBQUERY 実行する度に結果が変わる可能性のあるサブクエリ DERIVED FROM句で用いられているサブクエリ table 対象テーブルの名称 partition どのpartisionテーブルを使用したか 複数にまたがる時は複数の値が表示される type レコードアクセスタイプ typeの詳細 const pk or uniqueインデックスを使用したルックアップによるアク

                                        MySQL EXPLAINのそれぞれの項目についての覚書 - Qiita
                                      • オプティマイザの判断ミスを疑ってみよう

                                        Oracleデータベースの運用管理者は、突発的に直面するパフォーマンス障害にどうやって対処したらよいか。本連載は、非常に複雑なOracleのアーキテクチャに頭を悩ます管理者に向け、短時間で問題を切り分け、対処法を見つけるノウハウを紹介する。対象とするバージョンはOracle8から9iまでを基本とし、10gの情報は随時加えていく。(編集局) 前回「Bツリーインデックスに最高のパフォーマンスを」では、インデックスの状況を確認するためにANALYZEコマンドを使用しました。本稿では、ANALYZEコマンドで取得した統計情報から、オプティマイザが正しい実行計画を立てているかをチェックする方法を解説します。 オプティマイザの2つのモード オプティマイザとは、Oracleがデータに対して最も効率的な実行計画を決定する機能です。オプティマイザの2つのモードを正しく理解しましょう。 ルールベース データの

                                          オプティマイザの判断ミスを疑ってみよう
                                        • 実行計画の見方@SQLチューニングの基盤となる統計情報(3/4) − @IT

                                          これらの項目に出力される値は、親ステップ(SORT処理)の値と子ステップ(TABLE ACCESS処理)の値との合計値になります。そのため、各ステップでの処理時間やアクセスされたブロック数などの情報は、ステップごとの差分から読み取る必要があります。 図1の(10)、「time」の値を例に挙げて説明すると、最初のステップであるTABLE ACCESS FULLは、「60530996」であり、この値が全表スキャンにかかった時間になります。次のステップであるSORT GROUP BYは、「62654805」となっていますが、この値には前ステップのTABLE ACCESS FULLの値も含まれています。そのため、純粋なSORT GROUP BYの経過時間は、「62654805 - 60530996 = 2123809」、すなわち約2.1秒であったことが分かります。 TKPROF実行時の実行計画の見

                                            実行計画の見方@SQLチューニングの基盤となる統計情報(3/4) − @IT
                                          • Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PDF版) — Let's Postgres

                                            EXPLAIN や EXPLAIN ANALYZE の使い方と、それらを利用してスロークエリの実行計画を改善する方法を紹介します。 Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PDF版) OSCON 2005 で講演され、2005年のJPUG夏合宿で分担して翻訳した発表資料です。PostgreSQL 8.3 に対応できるよう内容を更新しています。 Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PPT版) OSCON 2005 で講演され、2005年のJPUG夏合宿で分担して翻訳した発表資料です。PostgreSQL 8.3 に対応できるよう内容を更新しています。

                                            • Oracle SQL実行計画の読み方 | コーソルDatabaseエンジニアのBlog

                                              渡部です。SQLチューニングの基本は、実行計画への理解です。 過去のdb tech showcase発表のスライドがよくまとまっている(自画自賛!)ため、これを用いて実行計画の読みかたを説明したいと思います。 db tech showcase 2017「Oracle入門セミナー 実行計画を読んでみよう!」 2017年9月のdb tech showcase 2017の発表を下敷きにして、実行計画の読みかたを説明します。 db tech showcase 2017「Oracle入門セミナー 実行計画を読んでみよう!」 https://cosol.jp/techdb/2017/09/dbts2017-oracle-read-execution-plan-html/ SQLチューニングの省力化・自動化にはToadのSQL Optimizer for Oracle, SQL Optimizer fo

                                              • 基礎から理解するデータベースのしくみ(3)

                                                図3●Oracle付属のSQL*Plusで実行計画を表示したところ。画面下部のインデントは図2のツリーの親子関係を表します 効率の良い実行計画を作成する 次は,実行計画の作成です。こちらも例を挙げて説明したほうがわかりやすいでしょう。Oracleに付属するサンプルの従業員テーブル(emp)と部署テーブル(dept)から,従業員の一覧を取り出す以下のようなSQL文を実行するとします。 SELECT ename, job, sal, dname FROM emp, dept WHERE emp.deptno = dept.deptno テーブルdeptでは部署番号deptnoが主キーで,インデックスpk_deptnoが定義されています。一方テーブルempでは,deptnoが外部キー*5になりますが,これに対してインデックスは定義されていません。 オプティマイザは,このSQL文に対して(図2[拡

                                                  基礎から理解するデータベースのしくみ(3)
                                                • PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)

                                                  オープンソースカンファレンス2015 Spring/Tokyoでの 講演資料です。Read less

                                                    PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
                                                  • クレジットカード取引におけるセキュリティ対策の強化に向けた実行計画2017(「実行計画2017」)を取りまとめました~国際水準のクレジットカード決済環境の整備を進めます~(METI/経済産業省)

                                                    クレジットカード取引におけるセキュリティ対策の強化に向けた実行計画2017(「実行計画2017」)を取りまとめました~国際水準のクレジットカード決済環境の整備を進めます~ 本日、「クレジット取引セキュリティ対策協議会」(事務局:(一社)日本クレジット協会)が開催され2020年に向けて国際水準のクレジットカード取引のセキュリティ環境を整備するため、クレジットカード会社や加盟店をはじめとする各主体が講ずべき措置を取りまとめた「実行計画」(2016年2月)を改訂し、「実行計画2017」として策定しました。 1.背景 クレジットカードショッピングは、消費者の購入機会を拡大するとともに、円滑な決済を可能とするものあり、現代の消費生活において重要な役割を担っています。 他方、我が国においては、近年、セキュリティ対策が不十分なクレジットカード加盟店を狙った不正アクセスによってカード情報が漏えいする事故が

                                                    • 3-6-2-4 実行計画の分析

                                                      18 March, 1998 Updated   PCDN OracleWG S.Yamazaki   オプティマイザが実行計画を作成する場合、コストベース・アプローチかルールベース・アプローチのいずれかを選択します。それぞれのアクセスパスの選択については「Oracleのオプティマイザ」に述べているとおりであり、 ここでは、いずれかのアプローチによって作成された実行計画の説明をしていきます。 なお、R7.3.2あたりからCBOでのみ動作する計画がありますので、CBO主体(analyzeコマンドで統計を取った状態)で説明したいと思います。 実行計画 実行計画とは、DML文(SELECT,UPDATE,DELETEなど)を実行するために、いくつかのステップを踏むことになります。ステップでは、索引・行の読み込み、ソート、変換など、様々な動作が含まれています。これらの動作の組み合わ

                                                      • CBOはどの情報を元に実行計画を決めるのか - SQL> shutdown abort

                                                        「開発環境と本番環境で実行計画が違うんだけどなんで!?」 今日もこんな問い合わせがありました。 もうね、最近は問い合わせの8割が実行計画と統計情報。 何べん同じことを言ったら良いんだろうね。 そろそろ、社内(といっても常駐先内)での情報共有の仕組みとかにも、 口を出していったほうが良いんだろうか。 っつーか、こんだけブログに書いてて、わりとそれっぽいキーワードで 検索したら、上位に来るようにもなっているのに、それでも聞いてくるってことは、 どんだけ丸投げ体質なんだよと。 まぁ、隣で開発やってるお会社さんは、アクセス禁止サイトへのアクセスを させないために、Webへのアクセスを禁止しています。 なんという前時代的な・・・。 おっと、他の会社をdisってても、仕方ないですね。 とりあえず、タイトルの件に関しては、 自分なりにまとめて回答してみたので、こちらにも共有しますよっと。 さて、冒頭の質

                                                          CBOはどの情報を元に実行計画を決めるのか - SQL> shutdown abort
                                                        • オラクル実行計画メモ(Hishidama's Oracle Explain Memo)

                                                          S-JIS[2007-12-30/2010-10-23] 変更履歴 Oracle実行計画 OracleでSQLがどのように実行されるか(実行計画)を確認する方法。 事前準備(PLAN_TABLE作成) [2008-02-06] EXPLAIN文 [2008-02-06] autotrace 統計情報の取得 [/2010-10-23] →ヒントの使用 [2008-04-29] PLAN_TABLE 実行計画を照会するには、PLAN_TABLEというテーブルが必要になる。[2008-02-06] このテーブルは以下のコマンド(スクリプトファイルの実行)で作成する。 > cd C:\oracle\ora92\rdbms\admin > sqlplus scott/tiger @utlxplan.sql > sqlplus scott/tiger SQL> @ ?\rdbms\admin\utlx

                                                          • PHPerに知ってほしいRDBの事_その2.pdf

                                                            「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の輪読会のススメ - そーだいなる輪読会キックオフ / soudai-kickoff

                                                              PHPerに知ってほしいRDBの事_その2.pdf
                                                            • 納期は「目的関数」か、それとも「制約条件」か? | タイム・コンサルタントの日誌から

                                                              ORの世界では、最適化問題とは目的関数を決め、それを制約条件の中で最大化する手法の研究だと考える。私自身は、スケジューリング問題を最適化の文脈でとらえることに、一貫して反対してきた(「スケジューリングは最適化の問題ではない」参照)が、世の中の主流がその方向で認識していることは確かだ。 ところで、スケジューリング問題における納期は目的関数たりうるか、などというと疑問に思われる方もいるだろう。生産計画の目的関数が利益最大化であることは自明ではないか? 納期は順守が原則だから、制約条件であるはずだ、と。 答えはYESでもありNOでもある。疑問に思う人は、つぎの問題を考えてみてほしい:今、営業部に客先から急な引合いが入って、ある製品Xについて納期を答えなければならない。工場はすでに計画にそって動いているから、この注文は飛びこみ扱いになる。スケジューラーは工場設備の能力余裕を調べ、いつだったらその製

                                                                納期は「目的関数」か、それとも「制約条件」か? | タイム・コンサルタントの日誌から
                                                              • 再現性のあるスロークエリーには「SHOW PROFILE」を試してみよう

                                                                MySQLの組み込みプロファイラー SHOW PROFILEステートメントはMySQLサーバー組み込みのプロファイラーから情報を取り出すためのステートメントです。細かいことを言と、これが利用可能かどうかはビルドオプション(cmake -DENABLED_PROFILING=ON)で決まりますが、少なくともOracleが配布しているバイナリーではこのオプションが有効な状態でビルドされているため、ほとんどの環境で利用できるでしょう。 プロファイラーというと小難しく思えますが、「そのクエリーが実行されていた期間、どのStatus(SHOW PROCESSLISTで"State"と表示されているもの)にどのくらいの時間かかったか」を表示してくれるもので、セッション単位でオンラインに有効・無効を切り替えられるため、身構える必要は全くありません。まずはその内容を確認するため、試しに具体的なステートメン

                                                                  再現性のあるスロークエリーには「SHOW PROFILE」を試してみよう
                                                                • 実行計画??統計情報??って人へ - Qiita

                                                                  はじめに 新人研修でSQLがカリキュラムに組み込まれている場合、ほとんどがSQLの構文のみをスコープとしていて、RDBMSのアーキテクチャまで踏み込むことは少ないと思います。 本記事では、SELECT、INSERT、UPDATE、DELETEしか教わってないけど、現場に配属されてたら「実行計画を取ってゴニョゴニョ」「あ~統計情報が古いから取り直してゴニョゴニョ」みたいな依頼をされた人へ向けて、超簡単に説明します。 ※RDBMSの世界は奥が深いのでここでは概要のみに留めます。 RDBMSの基本的なアーキテクチャ RDBを使った開発では、ほとんどの現場でOracle、SQL Server、MySQL、DB2、PostgreSQLあたりが利用されています。これらのDBのアーキテクチャは、細かな違いこそあれど基本的なところは同じだったりします。 今回は、「実行計画??統計情報??って人へ」というこ

                                                                    実行計画??統計情報??って人へ - Qiita
                                                                  • Oracleの実行計画を読んでみよう! #dbts2017

                                                                    db tech showcase 2017 tokyo 2017年9月7日(木) 14:30~15:20 入門者向けセミナー Oracleの実行計画を読んでみよう! の資料です。

                                                                      Oracleの実行計画を読んでみよう! #dbts2017
                                                                    • SQLのチューニング

                                                                      【3.実行計画を読む】 ここでは、「2.実行計画を出力する」で出力した実行計画の読み取り方法を説明する。 簡単な実行計画を参考に説明する。 0 INSERT STATEMENT 1 SORT ORDER BY 2 HASH JOIN 3 FIXED TABLE FULL X$KSLLT 4 FIXED TABLE FULL X$KSLLD これはOracleの内部で実行されているSQLの実行計画である。この実行計画には4つの要素が含まれている。以下は上記の左の要素から順に説明している。 ID: 1つの実行計画の操作ごとに振られている番号と考えればよい。 OPERATION: 操作である。 OPTIONS: 操作におけるオプション。 OBJECT_NAME: 操作を行っている対象オブジェクト。 実行計画の読む順番について説明する。 まず操作の頭の部分にレベル(横の位置)があるが、このレベルに

                                                                      • is not null で count する SQL を Index Only "Fast Full" Scan で高速化する - ablog

                                                                        is not null で count する SQL を Index Only "Fast Full" Scan で仕事(計算)量を減らして高速化してみた。インデックスを作成すると、オプティマイザが期待していた仕事(計算)量が少なくなる実行計画を選択してくれた。 チューニング結果 ビフォー 17:36:30 SQL> alter system flush buffer_cache; System altered. Elapsed: 00:00:00.88 17:36:51 SQL> select count(c2) from test1 where c5 is not null; COUNT(C2) ---------- 100000 Elapsed: 00:00:05.70 17:37:11 SQL> select * from table(dbms_xplan.display_curs

                                                                          is not null で count する SQL を Index Only "Fast Full" Scan で高速化する - ablog
                                                                        • PostgreSQLの実行計画の処理

                                                                          インデックスとテーブルへのアクセスSeq ScanSeq Scanは、ディスクに保存されている通り(TABLE ACCESS FULLのように)に関係(テーブル)をスキャンします。 Index ScanIndex ScanはBツリー走査を行い、 一致する全ての値を検索するのにリーフノードをたどり、対応するテーブル上のデータを取り出します。INDEX RANGE SCANに続いてTABLE ACCESS BY INDEX ROWIDを行うのに似ています。第1章1, 「 SQLインデックスの内部構造」も参照して下さい。 いわゆるインデックスフィルタ述語は、Index Scanの パフォーマンス問題を引き起こします。次の節でその問題の 識別方法を説明しています。 Index Only Scan (PostgreSQL 9.2以降)Index Only ScanはBツリー走査を行い、一致する全ての

                                                                            PostgreSQLの実行計画の処理
                                                                          • ANALYZEコマンドとは - とってもORACLE

                                                                            とっても ORACLE > ANALYZEコマンドとは Oracleのオプティマイザにはコストベースとルールベースがあり、コストベースの場合、ANALYZEコマンドにより採取した統計情報を基に実行計画を立てる。コストベースオプティマイザを使用するためには、INIT.ORAの初期化パラメータのOPTIMIZER_MODEをCHOOSE(デフォルト)にセットし、対象となる表に対してANALYZEを実行する。ANALYZEには、すべてのデータを読み取る方法と一部のデータをサンプリングする方法があり、データサイズが大きく全データを調べていたのでは時間がかかりすぎる場合には、5%程度でサンプリングしたりする。 ■表を調べる。 ○ 表の全データを読み取り統計情報を収集する ANALYZE TABLE 表名 COMPUTE STATISTICS; ○ 5%のデータをサンプリングし統計情報を収集する AN

                                                                            • 「SQLの実行計画」から処理時間の差を理解する

                                                                              「SQLの実行計画」から処理時間の差を理解する:しばちょう先生の試して納得! DBAへの道(改)(1)(1/3 ページ) データベース技術や知識は、座学だけでなく「実際に手を動かして、実際に試して」理解を深めよう──。日本オラクルのデータベーススペシャリストが「新人をDBAに育てる際に使用する課題」をベースに、DBAがすぐ実践できる即効テクニックを紹介。第1回目は「“SQLの実行計画”から処理時間の差を理解する方法」を解説します。 皆さんこんにちは。日本オラクルの“しばちょう”こと、柴田長(しばたつかさ)です。 私は日本オラクルに入社してから丸5年間ほど、グリッド技術の検証センターにおいて、オラクルの持つ最新技術をパートナー各社と共同で検証し、数多くのホワイトペーパーを執筆してきました。その後5年以上の間、高パフォーマンスやミッションクリティカルな大規模案件の現場において、お客さまのシステ

                                                                                「SQLの実行計画」から処理時間の差を理解する
                                                                              • 実行計画のツリーのたどり方 (実行計画の読み方#1) « WR blog

                                                                                December 2014 (1) February 2014 (1) January 2014 (1) September 2012 (1) April 2012 (1) March 2012 (2) October 2011 (1) June 2011 (5) May 2011 (1) April 2011 (1) March 2011 (1) February 2011 (1) January 2011 (1) December 2010 (1) September 2009 (1) April 2009 (1) March 2009 (1) January 2009 (3) November 2008 (2) October 2008 (1) December 2005 (2) October 2005 (2) September 2005 (2) August 2005 (7)

                                                                                • 関連資料 | 安全・安心なクレジットカード取引への取組 | 一般社団法人日本クレジット協会

                                                                                  クレジットカード・セキュリティガイドライン [5.0版](改訂ポイント) クレジットカード・セキュリティガイドライン [4.0版](公表版)(改訂ポイント) クレジットカード・セキュリティガイドライン [3.0版](公表版)(改訂ポイント) クレジットカード・セキュリティガイドライン [2.0版](公表版)(概要版) クレジットカード・セキュリティガイドライン [1.0版](公表版)(概要版) クレジットカード・セキュリティガイドラインFAQ EMV 3-Dセキュア導入ガイド EMV 3-Dセキュア導入ガイドサマリー版 【EMV 3-Dセキュア】統合版_AReq設定項目及び3RIの仕様・ユースケース(公表版) クレジット取引における本人確認方法に係るガイドライン セキュリティガイドライン5.0版 説明動画 はじめに ・クレジット取引セキュリティ対策協議会とは ≪02:29≫ ・クレジットカ