PA4

Similar documents
はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント

A. 前ページからの続きです DBMS_SPACE.UNUSED_SPACE の各パラメータの意味 segment_owner = オブジェクトの所有者 segment_name = オブジェクト名 segment_type = オブジェクトタイプ total_blocks = セグメント合計ブロッ

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

Oracle Database Connect 2017 JPOUG

Agenda

untitled

Slide 1

PowerPoint Presentation

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ

Oracle8簡単チューニング for Windows NT

Oracle Tuning Pack

スライド 1

今さら聞けない!? Oracle入門 ~前編~

Slide 1

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

今さら聞けない!? Oracle入門 ~後編~

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし

はじめに コース概要と目的 Oracle データベースのパフォーマンス問題の分析方法 解決方法を説明します 受講対象者 データベース管理者の方を対象としています 前提条件 データベース アーキテクチャ データベース マネジメント を受講された方 もしくは同等の知識 をお持ちの方 テキスト内の記述につ

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む ) は 将来予告なしに変更することがあります このドキュメントに記載された内容は情報提供のみを目的としており 明示または黙示に関わらず これらの情報についてマイクロソフトはいかなる責任も負わないもの

Oracle活用実践演習コース

Oracleの領域管理~トラブル防止のテクニック~

第 3 章代表的なチューニングポイント 3 Q. ストアド プロシージャを使用した SQL 共有率の向上 A. ストアド プロシージャを使用した場合 同じストアド プロシージャを実行する複数のユーザーが 同じ共有 PL/SQL 領域を使用します また ストアド プロシージャは解析済みで格納されている

untitled

ここまでできる!! Oracle Databaseのパラレル処理

Oracle Data Pumpのパラレル機能

OracleDBA(パフォーマンスチューニング(SQL編) - コピー

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

Agenda パフォーマンス チューニングとは ボトルネック箇所の特定 代表的なチューニング項目 メモリ割り当てのチューニング ディスクI/Oのチューニング SQL 文のチューニング Copyright 2010, Oracle. All rights reserved. 2

Oracle Database 10g Release 2を使用したデータベース・パフォーマンス

Slide 1

Slide 1

第 3 章 メディア障害とバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法と 障害時の基本的なリカバリ方法につい て説明します 1. メディア リカバリ概要 2. ファイルの多重化 3. アーカイブ モードの設定 4. バックアップ概要 5. 一貫性バックアップ ( オ

MaxGauge_診断分析プロセス

ORACLE TUNING PACK 11G

Enterprise Manager 10gによるデータベース・パフォーマンスチューニング

PowerPoint Presentation

Oracle Database 11g Oracle Real Application Testing

PowerPoint Presentation

SQL 基礎 (6) JOIN 句 - データの結合 作成日 : 2016/02/22 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2016/02/22 新規作成 西村 はじめに この資料では 下記のような JOIN によるテーブル ( データ ) の結合について簡単に説明します INNE

今さら聞けない!?大規模テーブルのパフォーマンスチューニング ~パーティショニング~

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

KTest

バッチ処理にバインド変数はもうやめません? バッチ処理にバインド変数はもうやめません?

Oracle Data Pumpのパラレル機能

PowerPoint プレゼンテーション

標準化 補足資料

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Slide 1

自己管理型データベース: アプリケーションおよびSQLチューニング・ガイド

Microsoft Word - Lab5d-DB2組み込みSQL.doc

領域サイズの見積方法

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

DumpCollection IT Exam Training online / Bootcamp PDF and Testing Engine, study and practice

迅速なSQLチューニングおよび分析のための新ツール

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

自己管理型データベース: 自動SGAメモリー管理

#odddtky Oracle DBA & Developer Days 2014 for your Skill 使える実践的なノウハウがここにある 津島博士のパフォーマンス講座 SQL チューニングの基礎 日本オラクル株式会社データベース事業統括製品戦略統括本部データベースエンジニアリング本部 担

セットアップカード

Oracle Direct Seminar <Insert Picture Here> もうアプリ修正は必要ない! 画期的な SQL チューニング手法 日本オラクル株式会社

ORACLE PARTITIONING

プレポスト【問題】

PowerPoint Presentation

Caché SQL に関するよくある質問

NEC COBOL SQL アクセス Server Runtime V1.0 COBOL SQL アクセス Server Runtime V1.0 (1 年間保守付 ) COBOL SQL アクセス Server Runtime V1.0 (1 年間時間延長保守付 ) セットアップカード SL438

Microsoft PowerPoint - db03-5.ppt

< 写真欄 > 11g R2 Real Application Clusters スキルチェック ポイント解説

Web 環境におけるレイヤー別負荷の 2 違い DB サーバ AP サーバ 後ろのレイヤーほど負荷が高く ボトルネックになりやすい

PowerPoint -O80_REP.PDF

SQL Performance Analyzer

PowerPoint Presentation

意外と簡単

Chapter Two

橡ExCtrlPDF.PDF

Microsoft PowerPoint - 講義補助資料2017.pptx

Oracle Text 概要

untitled

Chapter Two

目次 1 集計関数 / 分析関数とは 2 集計関数 / 分析関数のパフォーマンス効果 3 ケーススタディグループ小計やクロス集計を計算するランキングを表示する前月比較を表示する累計を計算する移動平均を計算する構成比を計算する Oracle8i SQL Oracle8i Oracle Oracle C

はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹

PL/SQL プログラミング Ⅱ ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルア

Microsoft PowerPoint - Lite10g_SyncArchitecture.ppt

KWCR3.0 instration

Enterprise Cloud + 紹介資料

検証事例 富士通株式会社

Slide 1

表 2 michael のパスワード変更後の USER_ACL テーブル内容 リスト2は userpwd プログラムのソースリストである Perl で書かれたプログラムで,DBI インタフェー注ス ( 1 注 ) を使用して MySQL( 2 ) データベースへアクセスする 5 7 行目では, コマ

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

PostgreSQL 9.3パーティションの効果検証

Oracle Direct Seminar <Insert Picture Here> 体感型セミナー SQL をクイズ感覚で学ぶ! SQL クイズ 日本オラクル株式会社

Meet-Me Number/Pattern の 設定

Null

,, create table drop table alter table

Oracle Database 11g Release 1(11.1) Oracle Textの新機能

クエリの作成が楽になるUDF

Transcription:

SQL チューニングによる 性能改善の効果とポイント 株式会社アクアシステムズ PPA4003J-00-00

株式会社アクアシステムズ Oracle データベースを専門とする技術者集団 Oracle チューニング & 監視ツール Performance Analyzer の開発 / 販売 Oracle 診断及びパフォーマンスチューニング Oracle データベースに関するコンサルティング Oracle データベース運用管理 Oracle データベースを使用したアプリケーションの開発

Agenda Oracle データベースチューニング SQL 実行のステップ SQL チューニングツール Oracle チューニング & 監視ツール Performance Analyzer オプティマイザ ANALYZE インデックスソートパーティションプルーニングヒント句

Oracle データベースチューニング Oracle データベースのチューニングには様々な要素があります オブジェクトの設計初期化パラメータ I/O のコントロールメモリの有効活用競合の回避 SQL OS...etc

SQL 実行のステップ 解析 (parse( parse) SQL 文にあるテーブルや列などオブジェクトのチェック最適な実行計画の決定 実行 (execute( execute) SQL を実行 データのフェッチ (fetch( fetch) 問い合わせ結果を返す

SQL チューニングツール 解析 実行 フェッチでの動きを把握するため 実行計画や統計情報の確認を行います EXPLAIN PLAN コマンド SQL*Plus のAUTOTRACE SQL_TRACE & tkprof V$SQL_PLAN V$SQL_PLAN_STATISTICS ビュー Performance Analyzer 4

Oracle チューニング & 監視ツール Performance Analyzer SQL チューニング高負荷 SQL 及びボトルネック項目の抽出 SQL 解析 ( 実行計画 実行統計 ) 実行計画が変化した SQL の抽出 インスタンスチューニング Oracle データベース評価レポートボトルネックの検出 Oracle データベースの運用監視

SQL を共有する 解析時間を減らすためには解析処理を行わせないようにします 共有プール上に存在する SQL と同じ SQL が再度実行された場合は実行計画を作成するための解析処理を行いません 全く同じ SQL 文では 大文字 / 小文字や空白 / 改行の位置 数を同じにする 条件の値のみが異なる SQL 文では バインド変数を使用する CURSOR_SHARING パラメータの設定 (force( or similar) (A) select first_name, last_name from employees where department_id=90; (B) SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE DEPARTMENT_ID = 90; (C) select first_name, last_name from employees where department_id=11; (D) select first_name, last_name from employees where department_id=:depid;

Oracle オプティマイザ SQL がどのようにデータにアクセスすればよいかを判断し 実行計画を作成します ルールベースオプティマイザ処理方法が順位付けされていて それに基づいて実施可能な処理方法を選択します コストベースオプティマイザオブジェクトの統計を収集し それにより見積もったコストが最も低い処理方法を選択します

ANALYZE をする コストベースオプティマイザは 収集した統計をもとに実行計画を決定します ANALYZE をしないとルールベースになります ANALYZE コマンド旧来のコマンド DBMS_STATS パッケージ GATHER_TABLE_STATS GATHER_INDEX_STATS execute dbms_stats.gather_table_stats ('SCOTT', 'EMP', null, dbms_stats.auto_sample_size);

インデックスを使う インデックスを使わずにデータにアクセスするとテーブル全体にアクセスすることになります インデックスを使うことで必要な行のみにアクセスすることができます B*Tree インデックスビットマップインデックス逆キーインデックスファンクションインデックス

インデックスを使うには (1)( where 句または order by 句にインデックスに指定した列がある where 句の列が複合インデックスの先頭にある インデックス ---------------------- - COL1 COL2 ( ) where COL1 = 10 ( ) where COL2 = 10 インデックススキップスキャン 索引の値の比較対象が NULL でない ( ) where COL3 is NULL 索引の値との比較に NOT を使用しない ( ) where COL4!= 10 ( ) where COL5 <> 10

インデックスを使うには (2)( 索引の値に計算をさせない ( ) where COL6 + 10 = 100 where COL6 = 100-10 ( ) where lower(col7) = 'scott' ファンクションインデックスを作成 like を使った場合は前方一致である ( ) where COL8 like 'ABC%' ( ) where COL9 like '%ABC' ( ) where COL10 like '%ABC%' 必ず実行計画でインデックスを使っているか確認しましょう

ソート処理をさせない ORDER BY 句などでソート処理が必要になると メモリ上のソート領域や メモリに入りきらない場合はディスクを使用して並べ替えを行います ORDER BY に指定した列を全て含むインデックスを作成 インデックス ---------------------- - COL1 COL2 ( ) order by COL1, COL2 ( ) order by COL2, COL1 ( ) order by COL1, COL2, COL3 ソートメモリ領域を充分確保し ディスクソートをさせない PGA_AGGREGATE_TARGET, SORT_AREA_SIZE の調整 alter session set workarea_size_policy = manual; alter session set sort_area_size = 10485760; -- 10MB

パーティションプルーニング Enterprise Edition では 大きなセグメントを効率よく扱うために パーティションという機能があります パーティションテーブルでは 必要なパーティションのみへのアクセスで済ませることができます レンジパーティションリストパーティションハッシュパーティション where month >= to_date('2004/02/21','yyyy/mm/dd') and month < to_date('2004/03/21','yyyy/mm/dd') 1 月 2 月 3 月 4 月 コンポジットパーティション ( レンジ ハッシュ レンジ リスト ) 実行計画の PARTITION_START, PARTITION_STOP を確認

ヒント句 Oracle のオプティマイザが期待した実行計画を選ばないときは ヒント句を使うことで 実行計画を制御することができます ヒント句は SELECT などの直後に /*+ */ で囲みます FULL フルスキャンをさせます INDEX, INDEX_FFS, INDEX_SS インデックスを指定の方法で使用するように指示します USE_NL, USE_MERGE, USE_HASH テーブルの結合方法を指定します その他にも多くのヒントがあります

遅くなる前に 今まで速かった SQL が ある日突然遅くなった 中にはそんな経験をした方もいるのではないでしょうか そんな時に慌てないためにも 問題のない時点での SQL の実行計画をとっておきましょう そうすれば 遅くなったときの実行計画と速かったときの実行計画を比べることで 問題解決への道すじを早くみつけることができるでしょう

評価版 評価版のダウンロードはこちらから http://www.aqua-systems.co.jp/download/

http://www.aqua-systems.co.jp/ info@aqua-systems.co.jp