Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
Oracleでモテる実行計画を固定させる2つの方法
Upcoming SlideShare
Loading in …5
×

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

2,188 views

Published on

実行計画をモテる感じでロックする方法のご紹介

Published in: Technology
  • Be the first to comment

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

  1. 1. About me • twitter: @mogmet • 好物:iOS, php, MySQL, Oracle • 仕事:インフラエンジニア→iOSエンジニア→フリーランスなDBA • ブログとか: http://mogmet.com/ • 作ったアプリたち↓

  2. 2. 嬉しかったこと
  3. 3. Platinum 12cホルダーになりました
  4. 4. ところで今日(11/29)は何の日 でしょう。
  5. 5. いい肉の日
  6. 6. だけじゃない
  7. 7. FF XVの発売日!
  8. 8. 皆さんイケメンですよね
  9. 9. きっとモテますよね
  10. 10. 彼らみたいにモテたい!
  11. 11. 今日はDBAでも モテる技を 教えよう!!!
  12. 12. Agenda • モテない統計情報の固定の仕方 • モテる統計情報の固定の仕方 • 更にモテる実行計画の固定の仕方
  13. 13. モテナイ統計情報の固定の仕方
  14. 14. 統計情報をロックする
  15. 15. BEGIN DBMS_STATS.LOCK_TABLE_STATS ('HIMOTE', 'MOTETAI'); END; / 統計情報をロック
  16. 16. 実行計画を改善しづらい 統計情報をロック
  17. 17. 気遣いできない男子レベル 統計情報をロック
  18. 18. http://livedoor.blogimg.jp/ahiru178/imgs/9/1/9116c9fa.jpg?65730e2d
  19. 19. それでも実行計画を固定 したい人たちに気遣い 出来る固定方法を紹介
  20. 20. モテる統計情報の固定の仕方
  21. 21. オプティマイザ統計の保留
  22. 22. MOTEMOTEテーブルに 魔法をかける オプティマイザ統計の保留
  23. 23. BEGIN DBMS_STATS.SET_TABLE_PREFS ('MOTEO', 'MOTEMOTE', 'publish', 'false'); END; / オプティマイザ統計の保留
  24. 24. 統計情報をとってみる オプティマイザ統計の保留
  25. 25. オプティマイザ統計の保留
  26. 26. ここでSELECTしてみると オプティマイザ統計の保留
  27. 27. オプティマイザ統計の保留
  28. 28. 魔法のおまじないをとなえる オプティマイザ統計の保留
  29. 29. alter session set OPTIMIZER_USE_PENDING_STATISTICS
 = false オプティマイザ統計の保留
  30. 30. オプティマイザ統計の保留
  31. 31. PUBLISHされている統計情報しか 使わなくなる!!! オプティマイザ統計の保留
  32. 32. 実質ロックみたいな感じ! オプティマイザ統計の保留
  33. 33. これはモテる!!! オプティマイザ統計の保留
  34. 34. 更にモテる実行計画の固定の仕方
  35. 35. SQL計画管理
  36. 36. SQL計画管理 データベースで既知の計画または確認済の計画のみが 使用されるようにオプティマイザで実行計画を自動的 に管理する予防的なメカニズムです。
  37. 37. SQL計画管理 なるほど!!
  38. 38. SQL計画管理 わからん!!
  39. 39. SQL計画管理 大まかな流れ
  40. 40. SQL計画管理 準備編
  41. 41. SQL計画管理 alter session set optimizer_capture_sql_plan_baselines =true;
  42. 42. SQL計画管理
  43. 43. SQL計画管理
  44. 44. SQL計画管理 実践編
  45. 45. SQL計画管理 データが大量に変わったり してデータが変わった!
  46. 46. SQL計画管理 おまじないを更にかける
  47. 47. SQL計画管理 alter session set optimizer_use_sql_plan_baselines = true;
  48. 48. SQL計画管理
  49. 49. SQL計画管理 SQLベースラインにある 承認された実行計画の中で 最適な実行計画だけを 使ってくれる!
  50. 50. SQL計画管理 実行計画をSQL計画ベースラインに もっていって承認して使うには どうするか?
  51. 51. SQL計画管理
  52. 52. SQL計画管理 ファンクラブへの入会 手続きを踏んで下さい
  53. 53. SQL計画管理 駄菓子菓子
  54. 54. SQL計画管理 真なるモテ男は女性に手間を 煩わせない
  55. 55. SQL計画管理 自動SPM展開アドバイザによりパフォーマ ンスが良いものなら自動的に未承認の実行 計画も承認されます。
  56. 56. 注意事項
  57. 57. SPMはEnterprise Edition でないと使えません!!
  58. 58. まとめ
  59. 59. まとめ • 統計情報を変えたくないときは統計情報の保留 を使うとモテる • 金があるならSPMを使って金の暴力でモテよう
  60. 60. これで明日から君もDBA女子の 視線釘付けだ!
  61. 61. Thank you for listening

×