SlideShare a Scribd company logo
1 of 35
プロとしての Oracle アーキテクチャ入門 ~番外編~ 渡部 亮太 株式会社コーソル 13-D-3
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],渡部 亮太 – (株)コーソル
本日の目標 ,[object Object],[object Object],[object Object],[object Object],[object Object]
SQL 実行と Oracle アーキテクチャ SGA 共有プール クライアント・ アプリケーション サーバプロセス データベース・ バッファキャッシュ データファイル (永続表領域) メモリ ディスク 解析済み SQL 情報 一時ファイル (一時表領域) 検証・解析 実行・フェッチ PGA SELECT 行
SQL 発行と SQL 解析 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],SGA 共有プール クライアント・ アプリケーション サーバプロセス ② 検証・解析 (ハードパース) ①  SELECT 解析済み SQL 情報 ③ キャッシュ
SQLの実行と実行計画 解析済み SQL 情報 実行計画 + アクセスパス テーブルスキャン 索引スキャン A Z A Z + f(x) f(x) ネステッドループ ソートマージ ハッシュ 結合方式+結合の順序
実行計画の立案と CBO   ( Cost Based Optimizer ) SELECT * FROM EMP WHERE EMP_NO = :emp_no; CBO SQL 実行計画 オプティマイザ統計 ・・・ 収集 初期化パラメータ 初期化パラメータ システム統計 テーブル・索引 環境的な要因 !!
テーブルと索引へのアクセス ・・・ ・・・
選択率と最適なアクセス : : : ? ? ? ?
ヒストグラム : 収集 or オプティマイザ統計 ・・・ 高さベースのヒストグラム 値ベースのヒストグラム 高さ=頻度 幅=頻度
CBOの欠点と対応策 ,[object Object],[object Object],[object Object],[object Object],利点:データ状態(の変化) に応じた実行計画を 立案できる 欠点:実行計画が変化して、 突然パフォーマンスが 変動する可能性がある 安定性を優先する場合 実行計画 影響 オプティマイザ統計 ・・・
解析済み SQL 情報のキャッシュ ,[object Object],[object Object],クライアント・ アプリケーション SGA 共有プール クライアント・ アプリケーション サーバプロセス ② 検証・解析 (ハードパース) サーバプロセス ⑤ 検証・解析 (ソフトパース) ④ SELECT ①  SELECT 解析済み SQL 情報 ③ キャッシュ ⑥ 再利用
実行/フェッチ クライアント・ アプリケーション サーバプロセス データファイル (永続表領域) メモリ ディスク 実行・フェッチ SGA データベース・ バッファキャッシュ consistent gets physical reads ③  行 ① ファイル I/O ② メモリ アクセス
DB バッファキャッシュのキャッシュ効果 クライアント・ アプリケーション サーバプロセス データファイル (永続表領域) メモリ ディスク 実行・フェッチ SGA データベース・ バッファキャッシュ クライアント・ アプリケーション サーバプロセス 実行・フェッチ ディスクアクセス -> 低速 メモリアクセス -> 高速 ③  行 ⑤  行 ① ファイル I/O ② メモリ アクセス ④ メモリ アクセス
パフォーマンス測定とキャッシュ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ソート(必要な場合) サーバプロセス PGA 一時ファイル(一時表領域) SGA クライアント・ アプリケーション データベース・ バッファキャッシュ メモリ ディスク 実行・フェッチ メモリでソート ⇒  高速 ディスクでソート ⇒  低速 ③  行 A Z A Z ① ② ソート ② ソート
統計:キャッシュとソート ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SQL開発において留意すべき点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
索引を使用できないSQL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
実行計画確認時の注意 ,[object Object],[object Object],[object Object],[object Object],[object Object]
1)本番環境類似の環境整備 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],一般的には ここらへん が限界? 易 難
2)オプティマイザ統計のメンテナンス ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBMS_STATSの利用 ,[object Object],[object Object],開発 DB 本番 DB :オプティマイザ統計 過去 現在 *.dmp EXPORT_   TABLE_STATS IMPORT_   TABLE_STATS RESTORE_  *_STATS ( 10g ~ ) ・・・ ・・・ ・・・ ・・・ ・・・
truncate table とオプティマイザ統計 ,[object Object],[object Object],[object Object],[object Object],[object Object]
3)バインド変数を用いた SQL の実行計画 ,[object Object],[object Object],[object Object]
4)バインドピーク(9i~) ,[object Object],SELECT * FROM tbl_xxx WHERE col1 =  :var1 ; : : ?
バインドピークの落とし穴 : SELECT * FROM tbl_xxx WHERE col1 =  :var1 ; SELECT * FROM tbl_xxx WHERE col1 =  :var1 ; : : 2 回目の実行 1回目の実行 : ? ?
バインドピークの落とし穴を避ける ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
5)クエリ変換 ,[object Object],[object Object],[object Object],[object Object],[object Object],サーバプロセス 検証・解析 実行・フェッチ CREATE VIEW  VW_EMP  AS    SELECT * FROM  EMP   WHERE  sal > 1000 ; SELECT * FROM  EMP WHERE  sal > 1000 AND  job = ‘CLERK’ ; SELECT * FROM  VW_EMP WHERE  job = ‘CLERK ’; ビューマージ
クエリ変換と実行計画 変換された SQL SQL CBO 注)一部のクエリ変換は  /* NO_QUERY_TRANSFORMATION */ ヒントで無効化可能  クライアント・ アプリケーション 実行計画
新種のクエリ変換の導入の流れ ,[object Object],[object Object],Beta-like State: ・ クエリ変換実装済み ・隠しパラメータ または Undocumented なヒント で制御可能 First official  publication: ・ クエリ変換がデフォルト で常に適用 ・コスト計算なし Final State: ・ クエリ変換の適用有無 がコスト計算を基に判断 ・ Undocumented な ヒントは deprecated に ※ : 書籍「 Cost-Based Oracle Fundamentals 」より
まとめに代えて –  CBO への対応 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CBO との付き合い方 ①  CBO を信頼せず、 ヒント句 / アウトラインで 実行計画を制御 ②  CBO の動作をできる 限り理解し、実行計画を 逐一吟味する ③  CBO の特性を(ある 程度)理解し、 CBO の 動作環境を整備する ・ CBO の存在意義否定 ・環境の変化に追随できない ・実行頻度 / パフォーマンス影響大 SQL に限定の適用は可 ・吟味対象の SQL の限定が必要 ・典型的な落とし穴については、本セッションで紹介 ・現実的な解 ・動作環境の構成要素については、本セッションで説明 3 つのアプローチをバランスよく
参考書籍: CBO の理解のために ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ご清聴ありがとう ございました Thank you

More Related Content

What's hot

[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
Insight Technology, Inc.
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
Insight Technology, Inc.
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
Uptime Technologies LLC (JP)
 

What's hot (20)

[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
 
Of tutorials v2.4.0
Of tutorials v2.4.0Of tutorials v2.4.0
Of tutorials v2.4.0
 
Microsoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップ
Microsoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップMicrosoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップ
Microsoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップ
 
Qlik Replicate - Control Tableの詳細
Qlik Replicate - Control Tableの詳細Qlik Replicate - Control Tableの詳細
Qlik Replicate - Control Tableの詳細
 
PostgreSQL安定運用のコツ2009 @hbstudy#5
PostgreSQL安定運用のコツ2009 @hbstudy#5PostgreSQL安定運用のコツ2009 @hbstudy#5
PostgreSQL安定運用のコツ2009 @hbstudy#5
 
OSS-DB Goldへの第一歩~実践!運用管理~
OSS-DB Goldへの第一歩~実践!運用管理~OSS-DB Goldへの第一歩~実践!運用管理~
OSS-DB Goldへの第一歩~実践!運用管理~
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubJpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pub
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVS
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
 
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
Mysql casial01
Mysql casial01Mysql casial01
Mysql casial01
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
 
Postgres Toolkitのご紹介
Postgres Toolkitのご紹介Postgres Toolkitのご紹介
Postgres Toolkitのご紹介
 
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
 
Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
 

Viewers also liked

Win free ipad 2 2011
Win free ipad 2 2011Win free ipad 2 2011
Win free ipad 2 2011
AnthonyEngman
 
Innovation driven disruption_Singh_Farid
Innovation driven disruption_Singh_FaridInnovation driven disruption_Singh_Farid
Innovation driven disruption_Singh_Farid
Farid Singh
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
sahilgarg13
 
Labor day challenge
Labor day challengeLabor day challenge
Labor day challenge
Nnenna Umeh
 
09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)
09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)
09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)
ANA HENRIQUEZ ORREGO
 
ロックフリーGCLOCKページ置換アルゴリズム
ロックフリーGCLOCKページ置換アルゴリズムロックフリーGCLOCKページ置換アルゴリズム
ロックフリーGCLOCKページ置換アルゴリズム
Makoto Yui
 

Viewers also liked (12)

Win free ipad 2 2011
Win free ipad 2 2011Win free ipad 2 2011
Win free ipad 2 2011
 
Bộ ảnh đẹp đến ngỡ ngàng của cậu bé bên các loài động vật
Bộ ảnh đẹp đến ngỡ ngàng của cậu bé bên các loài động vậtBộ ảnh đẹp đến ngỡ ngàng của cậu bé bên các loài động vật
Bộ ảnh đẹp đến ngỡ ngàng của cậu bé bên các loài động vật
 
Innovation driven disruption_Singh_Farid
Innovation driven disruption_Singh_FaridInnovation driven disruption_Singh_Farid
Innovation driven disruption_Singh_Farid
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
Labor day challenge
Labor day challengeLabor day challenge
Labor day challenge
 
Perifericos mixtos
Perifericos mixtosPerifericos mixtos
Perifericos mixtos
 
HANAのハナシの基本のき
HANAのハナシの基本のきHANAのハナシの基本のき
HANAのハナシの基本のき
 
Utilizando los operadores básicos de google
Utilizando los operadores básicos de googleUtilizando los operadores básicos de google
Utilizando los operadores básicos de google
 
09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)
09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)
09 – isidoro gonzález – el conocimiento geográfico e histórico (28 63)
 
Guía Mi Pyme
Guía Mi PymeGuía Mi Pyme
Guía Mi Pyme
 
ロックフリーGCLOCKページ置換アルゴリズム
ロックフリーGCLOCKページ置換アルゴリズムロックフリーGCLOCKページ置換アルゴリズム
ロックフリーGCLOCKページ置換アルゴリズム
 
2012 - Anlage 2 - Laudationes PT NS-BRE, NRW, RPF-SL, SWH-HH.pdf
2012 - Anlage 2 - Laudationes PT NS-BRE, NRW, RPF-SL, SWH-HH.pdf2012 - Anlage 2 - Laudationes PT NS-BRE, NRW, RPF-SL, SWH-HH.pdf
2012 - Anlage 2 - Laudationes PT NS-BRE, NRW, RPF-SL, SWH-HH.pdf
 

Similar to プロとしてのOracleアーキテクチャ入門 ~番外編~

[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
Insight Technology, Inc.
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
Masayuki Ozawa
 
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
Insight Technology, Inc.
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
Masayuki Ozawa
 

Similar to プロとしてのOracleアーキテクチャ入門 ~番外編~ (20)

プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
 
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
 
Azure SQLデータベース最新動向&TIPS
Azure SQLデータベース最新動向&TIPSAzure SQLデータベース最新動向&TIPS
Azure SQLデータベース最新動向&TIPS
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
「Oracle Database + Java + Linux」 環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
「Oracle Database + Java + Linux」環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1「Oracle Database + Java + Linux」環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
「Oracle Database + Java + Linux」 環境における性能問題の調査手法 ~ミッションクリティカルシステムの現場から~ Part.1
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
 
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
 
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
 
Elastic7.12 release-new-features-on-0428
Elastic7.12 release-new-features-on-0428Elastic7.12 release-new-features-on-0428
Elastic7.12 release-new-features-on-0428
 
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
 
AWSのデータベースサービス全体像
AWSのデータベースサービス全体像AWSのデータベースサービス全体像
AWSのデータベースサービス全体像
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
 
[db tech showcase Tokyo 2018] #dbts2018 #D15 『5年連続!第三者機関の評価で(圧倒的)最強のピュアストレージが...
[db tech showcase Tokyo 2018] #dbts2018 #D15 『5年連続!第三者機関の評価で(圧倒的)最強のピュアストレージが...[db tech showcase Tokyo 2018] #dbts2018 #D15 『5年連続!第三者機関の評価で(圧倒的)最強のピュアストレージが...
[db tech showcase Tokyo 2018] #dbts2018 #D15 『5年連続!第三者機関の評価で(圧倒的)最強のピュアストレージが...
 
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
 
Starc verilog hdl2013d
Starc verilog hdl2013dStarc verilog hdl2013d
Starc verilog hdl2013d
 
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 versionHow to use STARC RTL Design Style Guide Verilog-HDL 2011 version
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
 

Recently uploaded

Recently uploaded (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

プロとしてのOracleアーキテクチャ入門 ~番外編~

  • 1. プロとしての Oracle アーキテクチャ入門 ~番外編~ 渡部 亮太 株式会社コーソル 13-D-3
  • 2.
  • 3.
  • 4. SQL 実行と Oracle アーキテクチャ SGA 共有プール クライアント・ アプリケーション サーバプロセス データベース・ バッファキャッシュ データファイル (永続表領域) メモリ ディスク 解析済み SQL 情報 一時ファイル (一時表領域) 検証・解析 実行・フェッチ PGA SELECT 行
  • 5.
  • 6. SQLの実行と実行計画 解析済み SQL 情報 実行計画 + アクセスパス テーブルスキャン 索引スキャン A Z A Z + f(x) f(x) ネステッドループ ソートマージ ハッシュ 結合方式+結合の順序
  • 7. 実行計画の立案と CBO ( Cost Based Optimizer ) SELECT * FROM EMP WHERE EMP_NO = :emp_no; CBO SQL 実行計画 オプティマイザ統計 ・・・ 収集 初期化パラメータ 初期化パラメータ システム統計 テーブル・索引 環境的な要因 !!
  • 10. ヒストグラム : 収集 or オプティマイザ統計 ・・・ 高さベースのヒストグラム 値ベースのヒストグラム 高さ=頻度 幅=頻度
  • 11.
  • 12.
  • 13. 実行/フェッチ クライアント・ アプリケーション サーバプロセス データファイル (永続表領域) メモリ ディスク 実行・フェッチ SGA データベース・ バッファキャッシュ consistent gets physical reads ③ 行 ① ファイル I/O ② メモリ アクセス
  • 14. DB バッファキャッシュのキャッシュ効果 クライアント・ アプリケーション サーバプロセス データファイル (永続表領域) メモリ ディスク 実行・フェッチ SGA データベース・ バッファキャッシュ クライアント・ アプリケーション サーバプロセス 実行・フェッチ ディスクアクセス -> 低速 メモリアクセス -> 高速 ③ 行 ⑤ 行 ① ファイル I/O ② メモリ アクセス ④ メモリ アクセス
  • 15.
  • 16. ソート(必要な場合) サーバプロセス PGA 一時ファイル(一時表領域) SGA クライアント・ アプリケーション データベース・ バッファキャッシュ メモリ ディスク 実行・フェッチ メモリでソート ⇒ 高速 ディスクでソート ⇒ 低速 ③ 行 A Z A Z ① ② ソート ② ソート
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. バインドピークの落とし穴 : SELECT * FROM tbl_xxx WHERE col1 = :var1 ; SELECT * FROM tbl_xxx WHERE col1 = :var1 ; : : 2 回目の実行 1回目の実行 : ? ?
  • 28.
  • 29.
  • 30. クエリ変換と実行計画 変換された SQL SQL CBO 注)一部のクエリ変換は /* NO_QUERY_TRANSFORMATION */ ヒントで無効化可能 クライアント・ アプリケーション 実行計画
  • 31.
  • 32.
  • 33. CBO との付き合い方 ① CBO を信頼せず、 ヒント句 / アウトラインで 実行計画を制御 ② CBO の動作をできる 限り理解し、実行計画を 逐一吟味する ③ CBO の特性を(ある 程度)理解し、 CBO の 動作環境を整備する ・ CBO の存在意義否定 ・環境の変化に追随できない ・実行頻度 / パフォーマンス影響大 SQL に限定の適用は可 ・吟味対象の SQL の限定が必要 ・典型的な落とし穴については、本セッションで紹介 ・現実的な解 ・動作環境の構成要素については、本セッションで説明 3 つのアプローチをバランスよく
  • 34.