システム構築時の大きな課題となるSQLパフォーマンス問題に対して、解決策と予防策をわかりやすく解説した書籍です。著者は数多くのコンサルティング業務に携わっており、その豊富な経験を生かして、実践的なノウハウを本書にまとめました。
解決策については、定型的に実施可能な基礎的なものから、Oracleデータベースのアーキテクチャを踏まえた応用的なものまで、ステップアップしながら学べます。また、予防策については、システム構築プロジェクトの各フェーズにおいて、問題の予防となるポイントを具体的に解説しています。各章末には理解度を確認できる練習問題を掲載。この一冊で、SQLチューニングの本質的な考え方と効果的なテクニックを身につけることができます。
SQLパフォーマンス問題とは?
確認問題
SQLの言語的特徴
処理方法はデータベースに任されている
確認問題
SQL文を記述する際の状況
SQLのパフォーマンス確認フェーズ
SQLの設計/記述を行うフェーズ
設計者/DBA/開発者の分担構造
確認問題
SQLパフォーマンス問題が減らない要因や課題
本当の意味でのSQLチューニング
確認問題
Oracleデータベースの構成要素
SQL処理の流れ
SQLはどうやって処理されているのか(参照編)
SQLはどうやって処理されているのか(更新編)
確認問題
チューニングとは
SQLパフォーマンス問題への解決アプローチ
確認問題
SQL記述の際に最低限守るべきルール
定型的なSQLチューニングとは?
SQLコーディングルールを守る意味は?
性能問題を避けるためのSQLコーディングルール
使用方法やノウハウをもとにしたSQLコーディングルール
可読性や管理性を高めるためのルール
現場の運用ポリシーを反映させるためのルール
SQLコーディングルール活用のポイント
チューニング時の第一ステップとしてルールを使う
定型的なチューニングのまとめ
確認問題
定型的なチューニングから“頭を使う”チューニングへ
オプティマイザへのインプット情報とその使われ方
実行計画の確認とそのチューニング
非定型的チューニングのまとめ
確認問題
Oracleアーキテクチャの理解が必要な理由
アーキテクチャを意識したSQLチューニングの例
Oracleアーキテクチャを意識したチューニングのまとめ
確認問題
アプリケーションロジックを考慮する必要性
アプリケーション観点での注意ポイント
アプリケーションを意識したチューニングのまとめ
確認問題
設計とは
論理設計と物理設計の違い
論理設計の進め方
論理設計のチューニング
論理設計を含めたチューニングのまとめ
確認問題
SQLパフォーマンス問題の「解決」から「予防」へ
SQLのパフォーマンス問題が発生する要因
SQLパフォーマンス問題を予防するために
確認問題
計画フェーズに関わる各担当の役割
計画フェーズにおけるSQLパフォーマンス問題の考慮事項
プロジェクト全体を通しての対応例
計画フェーズに関するまとめ
確認問題
何ができるかを確認する
要件定義フェーズに関わる各担当の役割
要件定義フェーズにおける予防策
要件定義フェーズに関するまとめ
確認問題
設計フェーズでの考慮ポイント
設計フェーズに関わる各担当の役割
設計フェーズにおけるSQLパフォーマンス問題の予防策
設計フェーズに関するまとめ
確認問題
SQLコーディングルールの目的
開発フェーズに関わる各担当の役割
開発フェーズにおけるSQLパフォーマンス問題の予防策
開発フェーズに関するまとめ
確認問題
テストフェーズでよくある問題
テストフェーズに関わる各担当の役割
テキストフェーズにおけるSQLパフォーマンス問題の予防策
テストフェーズに関するまとめ
確認問題
運用フェーズでの考慮ポイント
定常監視および定期的な性能分析/傾向分析の必要性
統計情報運用の勘所
運用フェーズに関するまとめ
確認問題
最低限実施すべきこと
高いパフォーマンス要件が求められる場合
プロジェクトの途中からでもできること
どのプロジェクトでもぜひ取り入れてほしいこと
確認問題
「解決」から「予防」へ
「Database Administrator」から「Database Architect」へ
DB Architectのスキル
本書のまとめ
確認問題
SQLチューニング案の検討
チューニング対象SQLの特性と効果測定
索引
nekora さん
2015-04-26
オプティマイザへの入力と出力が整理されてて良かった
たかとし卿 さん
2012-07-08
プロとしてのよりこちらの方がわかり易かったかな
TTakeshi さん
2012-02-10
鉄板!