出版社内容情報
Oracle SQLのパフォーマンスを劇的に改善するさまざまな手法を解説した書籍です。SQLチューニングの手順や実践的なヒントとテクニック、SQL文の使い分け方、実行計画を変更してパフォーマンスを上げる方法、問題の原因となるSQL文の識別方法などを解説します。
【目次】
PART I 予備知識編
Chapter1 SQL入門
SQLの基本的な特徴
SQLのはじまり
SQLオプティマイザ
SQLチューニングの目標
Oracleチューニングの一環としてのSQLチューニング
SQLチューニングの障害となる問題
SQLチューニングの手順
SQLチューニングの目標
SQL Tuning Toolkit
まとめ
Chapter2 Oracle SQL拡張機能の概要
インラインビュー
Oracleの組み込み関数
Oracle SQLとオブジェクト指向拡張機能
リレーショナルの規則を破る-繰り返しデータ項目のリスト
まとめ
Chapter3 SQLの実行メカニズム
SQL文の解析
実行計画の生成
SQL結果セットのソート
まとめ
Chapter4 SQLオプティマイザの概要
オプティマイザの基本テクニック
オプティマイザモード
ルールベースの最適化によるチューニング
コストベースの最適化によるチューニング
デフォルトのオプティマイザモードを決定する
コストベースのオプティマイザへの移行
まとめ
Chapter5 SQLの内部処理
共有SQL領域とプライベートSQL領域
SQLのSGA統計
ライブラリキャッシュの内部
SQLソートのチューニング
ライブラリキャッシュ内部にある影響の大きなSQLの識別
ライブラリキャッシュ内部のSQLに関するレポート
まとめ
Chapter6 表アクセスのチューニング
SQLのチューニングとフルテーブルスキャン
索引を使った表アクセス
表アクセス方法の変更
行の順序変更によるI/Oの低減
Oracleの表記憶域パラメータと表アクセスのパフォーマンス
空きリストの管理と表アクセスのパフォーマンス
まとめ
PART II 基本編
Chapter7 Oracle SQLチューニングの手順
SQLチューニングの目標
SQLのチューニング手順
手順1:影響の大きなSQLの識別
手順2:SQL文の抽出と解釈
手順3:SQL文のチューニング
SQLチューニングのケーススタディ
サードパーティ製ツールを使った迅速なSQLチューニング
まとめ
Chapter8 Oracle SQLのユーティリティ
SQL文の解釈
高速なSQLトレースの実行
TKPROFユーティリティ
Center of Expertise(COE)のSQL分析レポート
ライブラリキャッシュのSQLをレポートする
まとめ
Chapter9 重要なSQL文の特定
インスタンス規模のSQLベースラインの設定
重要なSQL文の構成要素
チューニングの対象となる重要なSQL文の抽出テクニック
SQL文の継続的なランク分け
まとめ
Chapter10 フルテーブルスキャンとパラレルクエリのチューニング
フルテーブルスキャンの妥当性チェック
Oracleパラレルクエリの対象となる候補の特定
Oracleパラレルクエリの概要
Oracleパラレルクエリの監視
まとめ
Chapter11 Oracle SQL文のソートの最適化
Oracleのソートに関する初期化パラメータ
索引を追加してソートをなくす
不要なソート
ソートアクティビティの監視
まとめ
Chapter12 Oracleヒントによるチューニング
ヒントの概要と歴史
SQL問い合わせでのヒント指定
オプティマイザのヒント
表結合のヒント
表の逆結合のヒント
索引のヒント
parallelヒント
表アクセスのヒント
副問い合わせのヒント
まとめ
Chapter13 オプティマイザのプランスタビリティを利用したチューニング
ストアドアウトラインの概要
ストアドアウトラインの利用準備
ストアドアウトラインの作成と変更
ストアドアウトラインの管理
まとめ
Chapter14 コストベースのオプティマイザによるチューニング
統計とコストベースの最適化
コストベースの最適化とSQLチューニング
CBOの動作に影響する初期化パラメータ
まとめ
Chapter15 ルールベースのオプティマイザによるチューニング
ルールベースのオプティマイザの起動
デフォルトオプティマイザモードがchooseの場合に発生する問題
ルールベースのデフォルトオプティマイザモード
ルールベースのオプティマイザが失敗するケース
ルールベースのオプティマイザを使うのが最適なケース
まとめ
Chapter16 表結合のチューニング
表結合の種類
Oracleの表結合方法
表結合順序の評価
分散SQLにおける表結合のチューニング
まとめ
PART III 応用編
Chapter17 DML文のチューニング
Oracleの記憶域パラメータとDMLのパフォーマンス
LONGデータ型の列とDMLの動作
平均行長に応じたpctfreeとpctusedの設定
バッファビジー待機とDMLの競合
update文、副問い合わせ、パラレルDML
制約によるDMLへのオーバーヘッド
索引をDMLでメンテナンスする際のオーバーヘッド
PL/SQLのバルク挿入によるinsert文の速度アップ
まとめ
Chapter18 一時表を使ったチューニング
CTAS構文とディクショナリビューの利用
まとめ
Chapter19 SQL副問い合わせのチューニング
Oracle副問い合わせの基礎
相関副問い合わせと非相関副問い合わせ
副問い合わせの自動SQL変換
in句やexists句を使った副問い合わせのチューニング
not in句やnot exists句を使った副問い合わせのチューニング
非等価条件を使った副問い合わせのチューニング
ヒントによる副問い合わせ実行速度の改善
まとめ
Chapter20 索引によるSQLのチューニング
索引が利用可能な部分の発見
索引を追加してソートをなくす
不要なソート
索引の述語
Bツリー索引以外の索引を作成する
in条件を使った問い合わせで索引を利用する
まとめ
Chapter21 データウェアハウスSQLのチューニング
大規模な表結合のチューニング
Oracle PartitioningとOracle SQLのチューニング
OracleパラレルクエリとOracle SQLのチューニング
データウェアハウスの問い合わせの最適化
まとめ
Chapter22 STATSPACKとSQLデータ集
STATSPACKとSQLデータ収集
STATSPACKによるOracle SQLソートのチューニング
STATSPACKによるSQLの追跡
まとめ
Chapter23 組み込み関数と特別な演算子によるSQLのチューニング
SQLでlike句とcase句を利用する
組み込み関数によるSQLのチューニング
まとめ
本書のまとめ
内容説明
Oracle SQLのチューニングは、Oracleチューニングでも重要な分野である。そして、SQL文をうまくチューニングすることができれば、Oracleデータベース全体のパフォーマンスを劇的に改善することができる。本書は、SQL文を知らなければならない人にとって大きな助けとなる、包括的なガイドブックとして役立つように執筆した。本書では読者のみなさんにSQLチューニングの手順をすべて紹介し、あらゆるSQLをチューニングできるよう、実践的なヒントとテクニックを提供する。
目次
1 予備知識編(SQL入門;Oracle SQL拡張機能の概要;SQLの実行メカニズム ほか)
2 基本編(Oracle SQLチューニングの手順;Oracle SQLのユーティリティ;重要なSQL文の特定 ほか)
3 応用編(DML文のチューニング;一時表を使ったチューニング;SQL副問い合わせのチューニング ほか)
著者等紹介
バーレソン,ドナルド・K.[バーレソン,ドナルドK.][Burleson,Donald Keith]
20年あまりの現場経験を持つ、世界でも屈指のOracleデータベースエキスパート。大規模オンラインデータベースのアーキテクチャ設計を専門として、有数の強力かつ複雑なシステムを構築。これまでに執筆した書籍は12冊、雑誌記事は60本を超える。また、Oracleデータベースの牽引役とも呼べる『Oracle Internals』誌の編集主任も務めている。以前は大学の助教授としても活躍し、コンピュータの学士コースで100を超える講座を担当。講師としても有名でOracle Openworldをはじめとする国際的なデータベースカンファレンスでも講演。TechRepublic.comではコラム「Oracle Answers」の執筆を担当し、Oracleのテクニカルヒントを週刊で電子メール配信している。コンサルタント業務以外では、視覚障害者を支援する慈善プログラムも精力的に手がけている。ミニチュアポニーをガイドホース(盲導馬)として調教する手法を開拓し、The Guide Horse Foundationという非営利団体を運営。同団体では、視覚障害のある人々に盲導馬を無償で提供している
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。