Oracleでモテる実行計画を固定させる2つの方法
About me
• twitter: @mogmet
• 好物:iOS, php, MySQL, Oracle
• 仕事:インフラエンジニア→iOSエンジニア→フリーランスなDBA
• ブログとか: http://mogmet.com/
• 作ったアプリたち↓

嬉しかったこと
Platinum 12cホルダーになりました
ところで今日(11/29)は何の日
でしょう。
いい肉の日
だけじゃない
FF XVの発売日!
皆さんイケメンですよね
きっとモテますよね
彼らみたいにモテたい!
今日はDBAでも
モテる技を
教えよう!!!
Agenda
• モテない統計情報の固定の仕方
• モテる統計情報の固定の仕方
• 更にモテる実行計画の固定の仕方
モテナイ統計情報の固定の仕方
統計情報をロックする
BEGIN
DBMS_STATS.LOCK_TABLE_STATS
('HIMOTE', 'MOTETAI');
END;
/
統計情報をロック
実行計画を改善しづらい
統計情報をロック
気遣いできない男子レベル
統計情報をロック
http://livedoor.blogimg.jp/ahiru178/imgs/9/1/9116c9fa.jpg?65730e2d
それでも実行計画を固定
したい人たちに気遣い
出来る固定方法を紹介
モテる統計情報の固定の仕方
オプティマイザ統計の保留
MOTEMOTEテーブルに
魔法をかける
オプティマイザ統計の保留
BEGIN
DBMS_STATS.SET_TABLE_PREFS
('MOTEO', 'MOTEMOTE', 'publish',
'false');
END;
/
オプティマイザ統計の保留
統計情報をとってみる
オプティマイザ統計の保留
オプティマイザ統計の保留
ここでSELECTしてみると
オプティマイザ統計の保留
オプティマイザ統計の保留
魔法のおまじないをとなえる
オプティマイザ統計の保留
alter session set
OPTIMIZER_USE_PENDING_STATISTICS

= false
オプティマイザ統計の保留
オプティマイザ統計の保留
PUBLISHされている統計情報しか
使わなくなる!!!
オプティマイザ統計の保留
実質ロックみたいな感じ!
オプティマイザ統計の保留
これはモテる!!!
オプティマイザ統計の保留
更にモテる実行計画の固定の仕方
SQL計画管理
SQL計画管理
データベースで既知の計画または確認済の計画のみが
使用されるようにオプティマイザで実行計画を自動的
に管理する予防的なメカニズムです。
SQL計画管理
なるほど!!
SQL計画管理
わからん!!
SQL計画管理
大まかな流れ
SQL計画管理
準備編
SQL計画管理
alter session set
optimizer_capture_sql_plan_baselines
=true;
SQL計画管理
SQL計画管理
SQL計画管理
実践編
SQL計画管理
データが大量に変わったり
してデータが変わった!
SQL計画管理
おまじないを更にかける
SQL計画管理
alter session set
optimizer_use_sql_plan_baselines
= true;
SQL計画管理
SQL計画管理
SQLベースラインにある
承認された実行計画の中で
最適な実行計画だけを
使ってくれる!
SQL計画管理
実行計画をSQL計画ベースラインに
もっていって承認して使うには
どうするか?
SQL計画管理
SQL計画管理
ファンクラブへの入会
手続きを踏んで下さい
SQL計画管理
駄菓子菓子
SQL計画管理
真なるモテ男は女性に手間を
煩わせない
SQL計画管理
自動SPM展開アドバイザによりパフォーマ
ンスが良いものなら自動的に未承認の実行
計画も承認されます。
注意事項
SPMはEnterprise Edition
でないと使えません!!
まとめ
まとめ
• 統計情報を変えたくないときは統計情報の保留
を使うとモテる
• 金があるならSPMを使って金の暴力でモテよう
これで明日から君もDBA女子の
視線釘付けだ!
Thank you for listening

More Related Content

PPTX
オープンソース・ソフトウェアで始めるバイナリ解析
PDF
固定化か?最新化か?オプティマイザ統計の運用をもう一度考える。 -JPOUG Tech Talk Night #6-
PDF
How to use Firebase Data Connect For Flutter
PDF
まだパスワードで認証してるの?Passkeysを使ってパスワードを駆逐してやる!
PDF
iOS 15で通知はより見られなくなる
PPTX
unity build on github actions
PDF
How to learn new language
PDF
Oracle how-to-audit-backup
オープンソース・ソフトウェアで始めるバイナリ解析
固定化か?最新化か?オプティマイザ統計の運用をもう一度考える。 -JPOUG Tech Talk Night #6-
How to use Firebase Data Connect For Flutter
まだパスワードで認証してるの?Passkeysを使ってパスワードを駆逐してやる!
iOS 15で通知はより見られなくなる
unity build on github actions
How to learn new language
Oracle how-to-audit-backup
Ad

Oracleでモテる実行計画を固定させる2つの方法