PR:この記事にはアフィリエイトリンクが含まれます。
Oracle DatabaseのSQLが遅いと、実行計画だけ眺めても原因をつかめないことがあります。AWRの負荷推移や統計情報と一緒に見ると、調べる手掛かりが増えます。
SQLを一つずつ追う本もあれば、待機イベントやデータベース全体を扱う本もあります。テーマの違いを押さえると、読んだ知識を現場の調査に結びつけやすいですね。
紹介するのは、SQL実行計画、AWR、SQLチューニングを扱う5冊です。対象バージョンやページ数も並べたので、内容の範囲を見渡せます。
紹介本の早見表
| 書名 | 得意分野 | 対象・仕様 |
|---|---|---|
Oracle SQL Tuning with Oracle SQLTXPLAIN: Oracle Database 12c Edition | 個別SQLの診断 | Oracle Database 12c、408ページ |
Oracle Database 12c Release 2 Performance Tuning Tips & Techniques | AWR、待機、索引 | Oracle Database 12c Release 2 |
Oracle Database 12c Performance Tuning Recipes: A Problem-Solution Approach | 問題別の手順 | Oracle Database 12c、636ページ |
Troubleshooting Oracle Performance | 性能問題の切り分け | Oracle Database 11g Release 2〜12c、740ページ |
Expert Oracle SQL: Optimization, Deployment, and Statistics | SQL最適化と統計 | 571ページ |
実行計画を掘り下げる本が必要か、AWRでシステム負荷も追う本が必要か。調査したい範囲を決めると、表から違いを読み取れます。
5冊はいずれも紙版です。販売価格は在庫や時期によって変動するため、購入時の表示価格を目安にしてください。発行年も対象バージョンとあわせて確認すると、環境との対応をつかみやすくなります。
主な対象はOracle Database 12c前後ですが、各書の範囲は同じではありません。実務環境の版と照らしながら読むと、扱う内容を把握しやすくなります。
統計と待機の関係
オプティマイザ統計は、データの件数や分布を見積もる材料です。その見積もりを使って実行計画が選ばれるため、両者は一緒に見る必要があります。
データ量や偏りが変われば同じSQLでも適した計画が変わることがあり、計画の違いを調べる際は統計情報の更新時期も確認します。
待機の調査を加えると、SQL自体の問題とシステム側の負荷を分けて考えられます。処理が遅い原因を両面から調べることで、改善の方向を定めやすくなります。
SQLTXPLAINを学ぶ
Stelios Charalambides著、Apress刊の第2版です。2017年発行で対象はOracle Database 12c。紙版は408ページで、個別SQLの調査を中心にしています。
扱うのはSQLTXPLAINやAWRレポート、SQL Monitor、オプティマイザ統計です。実行計画の比較とテストケースの構築も扱い、SQLごとの原因を順に調べる手掛かりになります。
調査を再現できる形でまとめたいDBAや開発者におすすめです。12c環境で診断手順を整理するときにも、具体的な参照先になります。
12cの性能調査
Richard Niemiec著のOracle Press版は2017年刊で、対象はOracle Database 12c Release 2です。索引やパーティション、SQL実行計画、ヒント、TRACEまで一冊で扱います。
AWRとStatspackによる待機イベントやラッチ、ミューテックスの調査も含みます。V$ビューやX$表、OS統計情報も載っているため、SQLとシステムの両方を調べられます。
個別の実行計画にとどまらず、性能問題を広い範囲で調べたいDBAにおすすめです。12c Release 2の参照書として、SQLの遅さとデータベース全体の状態をつないで読めます。
問題解決のレシピ
Sam R. AlapatiとDarl KuhnとBill Padfieldの共著です。Apressから2013年に刊行され、Oracle Database 12cを対象にした636ページのレシピ集です。
索引やAWR、システム競合、SQLトレースに加え、実行計画の最適化と安定性、オプティマイザ設定も扱います。問題別に手順を探せる構成です。
性能問題ごとの対応例を参照したいDBAにおすすめです。ひとつの理論を順に追うより、直面している症状に関係するテーマから調べたい人に使いやすいでしょう。
性能調査を深掘り
Christian Antognini著のTroubleshooting Oracle Performanceは、Apress刊の第2版ペーパーバックです。2014年発行で、Oracle Database 11g Release 2から12cまでを扱います。全740ページの本です。
問題を再現して調べる場合、発生中に観測する場合、事後に分析する場合に分けて扱います。オプティマイザやシステム統計、オブジェクト統計、実行計画、結合まで取り上げます。
SQLの遅さを状況に応じて論理的に追いたいDBAや開発者に合います。情報量が多く、調査中に出てきた疑問を個別に調べるときにも役立ちます。
SQL改善と統計
Tony Hasler著のExpert Oracle SQL: Optimization, Deployment, and Statisticsは、Apress刊の第1版ペーパーバックです。2014年発行で571ページ。SQLの診断から改善策の選択、本番環境への適用まで扱います。
実行計画は基本から高度な内容まで扱い、オブジェクト統計とコストベースオプティマイザも解説します。アクセス方式や結合、物理データベース設計にも触れるため、SQL文の修正だけに限らない改善方法を学べます。
本書は個別SQLの性能改善から本番環境への反映までを扱います。改善策を運用につなげたい開発者やDBAにおすすめです。
結論
SQL単体の診断を深めるならCharalambidesの本、AWRや待機も含めて12c Release 2の性能を調べるならNiemiecの本がおすすめです。実行計画と調査範囲が選ぶ目安になります。
症状ごとの手順を参照したい人にはAlapatiらのレシピ集、原因分析を体系的に学びたい人にはAntogniniの本がおすすめです。SQL改善と本番適用の流れを学ぶならHaslerをどうぞ。
一冊を決めるなら、解決したい課題がその本の中心テーマに合っているかを見ましょう。紙版の販売価格は時期や在庫で変わるため、購入時に表示された金額を目安にしてください。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。






