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