Oracle9i

Similar documents
Oracle Database 10g Release 2を使用したデータベース・パフォーマンス

Oracle Real Application Clusters 10g Release 2: Microsoft SQL Server 2005との技術的比較

Oracle DatabaseとIBM DB2 UDBの技術的比較: パフォーマンスを重視

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント

Oracle9i Reportsのチューニング

untitled

自己管理型データベース: アプリケーションおよびSQLチューニング・ガイド

Oracle Identity Managementの概要およびアーキテクチャ

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

プレポスト【問題】

BC4J...4 BC4J Association JSP BC4J JSP OC4J

Oracle Spatial

Oracle Database 10gのOLAP Option

目次 1 集計関数 / 分析関数とは 2 集計関数 / 分析関数のパフォーマンス効果 3 ケーススタディグループ小計やクロス集計を計算するランキングを表示する前月比較を表示する累計を計算する移動平均を計算する構成比を計算する Oracle8i SQL Oracle8i Oracle Oracle C

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

キャラクタ・セットの移行に関するベスト・プラクティス

Oracle Database 10gのOracle Data Guard

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗

Recovery Managerのバックアップおよびリカバリの最適化

Microsoft PowerPoint - KeySQL50_10g_vlo2.ppt

Microsoft PowerPoint - 講義補助資料2017.pptx

Oracle Enterprise Manager 10g R2 Grid Control: データベース管理の新機能

untitled

Oracle Locator Oracle Database 10g Standard Edition Standard Edition One Oracle Database 10g Release 1 Oracle Locator : Enterprise Edition Oracle Loca

untitled

untitled

すぐに使える!Essbase キューブ開発テクニック集

untitled

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

_02_3.ppt

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

意外と簡単!? Oracle Database 11g -バックアップ・リカバリ編-

Linux上のOracle Real Application Clustersの記憶領域オプション

Windowsユーザーの為のOracle Database セキュリティ入門

Oracle Application Server10g (9.0.4) - OracleAS PortalによるOracleAS Web Cacheの配置

_02-4.ppt

領域サイズの見積方法

Warehouse Builderにおける予測分析の使用

Oracle Web Conferencing Oracle Collaboration Suite 2 (9.0.4) Creation Date: May 14, 2003 Last Update: Jan 21, 2005 Version: 1.21

Copyright 2008 NIFTY Corporation All rights reserved. 2

Oracle HTML DBのテンプレート・カスタマイズ

<Insert Picture Here>

PowerPoint プレゼンテーション

Oracle Change Management Pack, Oracle Diagnostics Pack, Oracle Tuning Packインストレーション・ガイド リリース2.2

imt_817_tuning_11_1822.PDF

初心者にもできるアメブロカスタマイズ新2016.pages

橡ExCtrlPDF.PDF

- 2 Copyright (C) All Rights Reserved.

m_gtstrt_exprss_ibmbook.ps

オラクルのバックアップとリカバリの必須要件

OM.indd

KeySQL for Microsoft Windows 6.0 : B Copyright 2006, Oracle Corporation. All rights reserved. Printed in Japan. * Oracle Corporation Oracle Co

Copyright 2006 KDDI Corporation. All Rights Reserved page1

ShikumiBunkakai_2011_10_29

今さら聞けない!? Oracle入門 ~後編~

PowerPoint -O80_REP.PDF

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058


日本語タイトルを入力

<Insert Picture Here> Oracle Business Intelligence 2006/6/27

Copyright All Rights Reserved. -2 -!

Windows Oracle -Web - Copyright Oracle Corporation Japan, All rights reserved.

122.pdf

日本語タイトルを入力

,, create table drop table alter table


untitled

IPA:セキュアなインターネットサーバー構築に関する調査

OLAP も PostgreSQL で! Swarm64 の FPGA によるDB 高速化ソリューション「S64DA」のご紹介

Microsoft Word - 最終版 バックせどりismマニュアル .docx

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

keysql42_usersguide

1,.,,,., RDBM, SQL. OSS,, SQL,,.

(OnePoint) ( URL Web Copyright 2005 Microsoft Corporation. All rights reserved. Microsoft Windows Visual Basic Visual Studio Microsoft Corporation

Microsoft Word - 430_15_Developing_Stored_Procedure.doc

KeySQL R5.1 Release Note

組織変更ライブラリ

Oracle Secure Enterprise Search 10gを使用したセキュアな検索

Oracle Enterprise Manager概説 リリース2.2

Oracle活用実践演習コース

日本オラクル株式会社

3 4 SAP HANA 5 6 SAP HANA Xeon E7 v3 SAP HANA 6 8 OLTP OLAP 1 9 SAP S/4HANA SAP HANA Studio 13 14

dekiru_asa

ORACLEデータベース10G データ・ポンプ: 超高速データ移動ユーティリティの基盤

D1印刷用.PDF

クラウド時代のインフラ構成/変更管理とコンプライアンス管理

KDDI

ESA_UI_1110.PDF

Microsoft Word - J doc


アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

Oracle Developer for Microsoft Windows R6i Patch13 リリース・ノート

untitled

Microsoft Windows向けOracle Database 12cでのOracleホーム・ユーザーの導入

KWCR3.0 instration

Slide 1

ValueHolder... 9 Customer.java Oracle TopLink 10g(10.1.3) È Volume3 2

Transcription:

Oracle9i 2002 2

Oracle9i... 4... 4... 4 Oracle... 4 SQL... 6... 6... 6... 7... 7... 9... 9... 9 CUBE... 10... 11... 11... 11 OR... 12... 12... 14... 14... 15... 15... 16... 16... 18... 18... 18... 19... 19... 19 GROUP-BY... 20... 20 OLAP... 20... 21... 21... 22... 22... 22... 23... 23... 23... 24... 24 Oracle9i 2 Oracle Corporation Query Optimization in Oracle9i

... 24... 24... 25... 26... 26... 26... 28... 29 Oracle9i 3 Oracle Corporation Query Optimization in Oracle9i

Oracle9i Oracle Oracle9i Oracle SQL SQL SQL SQL SQL Oracle Oracle 1992 Oracle7 10 Oracle9i 4 Oracle Corporation Query Optimization in Oracle9i

Oracle Oracle 4 SQL : Oracle SQL SQL SQL : SQL Oracle EXPLAIN PLAN Oracle v$sql_plan SQL SQL : Oracle SQL I/O CPU : SQL Oracle CPU Oracle Oracle Oracle Oracle Applications SAP Peoplesoft Oracle9i 5 Oracle Corporation Query Optimization in Oracle9i

SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL Oracle SQL 2 : SQL : Oracle Oracle Oracle CREATE VIEW TEST_VIEW AS SELECT ENAME, DNAME, SAL FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO; SELECT ENAME, DNAME FROM TEST_VIEW WHERE SAL > 10000; EMP DEPT SAL Oracle9i 6 Oracle Corporation Query Optimization in Oracle9i

SELECT ENAME, DNAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO AND E.SAL > 10000; EMP DEPT SAL>10000 GROUP BY DISTINCT Oracle GROUP BY CREATE VIEW AVG_SAL_VIEW AS SELECT DEPTNO, AVG(SAL) AVG_SAL_DEPT FROM EMP GROUP BY DEPTNO Oakland SELECT DEPT.NAME, AVG_SAL_DEPT FROM DEPT, AVG_SAL_VIEW WHERE DEPT.DEPTNO = AVG_SAL_VIEW.DEPTNO AND DEPT.LOC = 'OAKLAND' SELECT DEPT.NAME, AVG(SAL) FROM DEPT, EMP WHERE DEPT.DEPTNO = EMP.DEPTNO AND DEPT.LOC = 'OAKLAND' GROUP BY DEPT.ROWID, DEPT.NAME EMP EMP Oracle 10000 SELECT D.DNAME FROM DEPT D WHERE D.DEPTNO IN (SELECT E.DEPTNO FROM EMP E WHERE E.SAL > 10000) Oracle Oracle9i 7 Oracle Corporation Query Optimization in Oracle9i

OPERATION OBJECT NAME OPTIONS SELECT STATEMENT FILTER TABLE ACCESS DEPT FULL TABLE ACCESS EMP FULL DEPT EMP 1 Oracle / OPERATION OBJECT NAME OPTIONS SELECT STATEMENT HASH JOIN SEMI TABLE ACCESS DEPT FULL TABLE ACCESS EMP FULL SQL SQL SQL SELECT DNAME FROM EMP E, DEPT D WHERE D.DEPTNO <SEMIJOIN> E.DEPTNO AND E.SAL > 10000; 1 DEPT EMP OPERATION OBJECT NAME OPTIONS SELECT STATEMENT HASH JOIN SORT UNIQUE TABLE ACCESS EMP FULL TABLE ACCESS DEPT FULL SQL SELECT D.DNAME FROM (SELECT DISTINCT DEPTNO FROM EMP) E, DEPT D WHERE E.DEPTNO = D.DEPTNO AND E.SAL > 10000; Oracle9i 8 Oracle Corporation Query Optimization in Oracle9i

1 Oracle SELECT COUNT(DISTINCT O_ORDERKEY) FROM ORDER, LINEITEM WHERE O_ORDERKEY = L_ORDERKEY AND O_ORDERDATE = L_SHIPDATE AND O_ORDERDATE BETWEEN '1-JAN-2002' AND '31-JAN-2002' ORDER LINEITEM SELECT COUNT(DISTINCT O_ORDERKEY) FROM ORDER, LINEITEM WHERE O_ORDERKEY = L_ORDERKEY AND O_ORDERDATE = L_SHIPDATE AND O_ORDERDATE BETWEEN '1-JAN-2002' AND '31-JAN-2002' AND L_SHIPDATE BETWEEN '1-JAN-2002' AND '31-JAN-2002' 1 Oracle Vice President 100000 Dallas SELECT * FROM EMP, DEPT WHERE (EMP.DEPTNO = DEPT.DEPTNO AND LOC = 'DALLAS' AND SAL > 100000) OR (EMP.DEPTNO = DEPT.DEPTNO AND LOC = 'DALLAS' AND JOB_TITLE = 'VICE PRESIDENT') SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO AND LOC = DALLAS AND (SAL > 100000 OR JOB_TITLE = 'VICE PRESIDENT'); DEPT LOC 2 1 Oracle Oracle9i 9 Oracle Corporation Query Optimization in Oracle9i

/ CREATE VIEW EMP_AGG AS SELECT DEPTNO, AVG(SAL) AVG_SAL, FROM EMP GROUP BY DEPTNO; SELECT DEPTNO, AVG_SAL FROM EMP_AGG WHERE DEPTNO = 10; Oracle DEPTNO=10 SQL SELECT DEPTNO, AVG(SAL) FROM EMP WHERE DEPTNO = 10 GROUP BY DEPTNO; GROUP-BY DEPTNO=10 Oracle WHERE WHERE GROUP-BY / CUBE SQL CUBE SQL group-by 1 SQL CUBE SELECT MONTH, REGION, DEPARTMENT FROM (SELECT MONTH, REGION, DEPARTMENT, SUM(SALES_AMOUNT) AS REVENUE FROM SALES GROUP BY CUBE (MONTH, REGION, DEPT)) WHERE MONTH = JAN-2001 ; SQL SELECT MONTH, REGION, DEPARTMENT FROM (SELECT MONTH, REGION, DEPARTMENT, SUM(SALES_AMOUNT) AS REVENUE FROM SALES WHERE MONTH = JAN-2001 GROUP BY MONTH, CUBE(REGION, DEPT)) WHERE MONTH = JAN-2001 ; 2001 1 SQL CUBE SQL Oracle9i 10 Oracle Corporation Query Optimization in Oracle9i

1 1 SQL SQL CREATE MATERIALIZED VIEW SALES_SUMMARY AS SELECT SALES.CUST_ID, TIME.MONTH, SUM(SALES_AMOUNT) AMT FROM SALES, TIME WHERE SALES.TIME_ID = TIME.TIME_ID GROUP BY SALES.CUST_ID, TIME.MONTH; SELECT CUSTOMER.CUST_NAME, TIME.MONTH, SUM(SALES.SALES_AMOUNT) FROM SALES, CUSTOMER, TIME WHERE SALES.CUST_ID = CUST.CUST_ID AND SALES.TIME_ID = TIME.TIME_ID GROUP BY CUSTOMER.CUST_NAME, TIME.MONTH; SELECT CUSTOMER.CUST_NAME, SALES_SUMMARY.MONTH, SALES_SUMMARY.AMT FROM CUSTOMER, SALES_SUMMARY WHERE CUSTOMER.CUST_ID = SALES_SUMMARY.CUST_ID; sales_summary sales 1 Oracle Oracle 1 Oracle Oracle Oracle9i 11 Oracle Corporation Query Optimization in Oracle9i

Oracle Oracle9i OR WHERE OR OR UNION ALL OR Oakland Oakland SELECT * FROM SHIPMENT, PORT P1, PORT P2 WHERE SHIPMENT.SOURCE_PORT_ID = P1.PORT_ID AND SHIPMENT.DESTINATION_PORT_ID = P2.PORT_ID AND (P1.PORT_NAME = 'OAKLAND' OR P2.PORT_NAME = 'OAKLAND') SELECT * FROM SHIPMENT, PORT P1, PORT P2 WHERE SHIPMENT.SOURCE_PORT_ID = P1.PORT_ID AND SHIPMENT.DESTINATION_PORT_ID = P2.PORT_ID AND P1.PORT_NAME = 'OAKLAND' UNION ALL SELECT * FROM SHIPMENT, PORT P1, PORT P2 WHERE SHIPMENT.SOURCE_PORT_ID = P1.PORT_ID AND SHIPMENT.DESTINATION_PORT_ID = P2.PORT_ID AND P2.PORT_NAME = 'OAKLAND' AND P1.PORT_NAME <> 'OAKLAND' UNION ALL Oracle P1 P1 2 P2 1 ( ) Oracle SQL Oracle9i 12 Oracle Corporation Query Optimization in Oracle9i

2001 3 DAY QUARTER 2 SELECT STORE.STATE, SUM(SALES.AMOUNT) FROM SALES, DAY, QUARTER, PRODUCT, STORE WHERE SALES.DAY_ID = DAY.DAY_ID AND DAY.QUARTER_ID = QUARTER.QUARTER_ID AND SALES.PRODUCT_ID = PRODUCT.PRODUCT_ID AND SALES.STORE_ID = STORE.STORE_ID AND PRODUCT.PRODUCT_CATEGORY = 'BEVERAGES' AND QUARTER.QUARTER_NAME = '2001Q3' GROUP BY STORE.STATE SELECT STORE.STATE, SUM(SALES.AMOUNT) FROM SALES, STORE WHERE SALES.STORE_ID = STORE.STORE_ID AND SALES.DAY_ID IN (SELECT DAY.DAY_ID FROM DAY, QUARTER WHERE DAY.QUARTER_ID = QUARTER.QUARTER_ID AND QUARTER.QUARTER_NAME = '2001Q3') AND SALES.PRODUCT_ID IN (SELECT PRODUCT.PRODUCT_ID FROM PRODUCT WHERE PRODUCT.PRODUCT_CATEGORY = 'BEVERAGES') GROUP BY STORE.STATE SQL 2 day_id product_id 2 day_id product_id 2 select-list store.state store PRODUCT DAY QUARTER 2 Oracle Oracle9i 13 Oracle Corporation Query Optimization in Oracle9i

Oracle 1 Oracle EXPLAIN PLAN Oracle v$sql_plan Oracle Oracle Oracle Oracle B B B - - Oracle9i 14 Oracle Corporation Query Optimization in Oracle9i

Oracle / and-equal B / AND/OR MINUS (NOT) COUNT / Oracle 5 120 5! = 120 5 10 3,000,000 100,000,000 Oracle 1 Oracle 1 10 Oracle9i 15 Oracle Corporation Query Optimization in Oracle9i

Oracle DBA DBA Oracle Oracle 1 Oracle Oracle B B I/O 1/10 10 Key Data Warehousing Features in Oracle9i: A Comparative Analysis AND/OR Oracle DML Oracle Oracle WHERE AND/OR/NOT Oracle9i 16 Oracle Corporation Query Optimization in Oracle9i

Oracle AND ROWID http://as400bks.rochester.ibm.com/cgi-bin/bookmgr/books/ez30xb00/2.4.1 Oracle SELECT COUNT(*) FROM CUSTOMER WHERE STATE = 'CA' AND MARITAL_STATUS = 'MARRIED' / Oracle CA AND 1 2 Oracle Oracle Oracle Oracle Oracle Oracle 1 B B Oracle9i 17 Oracle Corporation Query Optimization in Oracle9i

ROWID/ product_id 2 1. : ID 2. : Oracle Oracle Oracle Oracle Oracle / Oracle Oracle I/O Oracle9i 18 Oracle Corporation Query Optimization in Oracle9i

ROWID WHERE ROWID / Oracle Oracle / / / Oracle 2 3 Oracle 3 Oracle9i 19 Oracle Corporation Query Optimization in Oracle9i

GROUP-BY Oracle GROUP-BY 1 Oracle DISTINCT GROUP BY ORDER BY 1 ORDER BY Oracle ORDER BY OLAP Oracle OLAP SQL SQL CUBE ROLLUP 1 Oracle 1 Oracle9i 20 Oracle Corporation Query Optimization in Oracle9i

CPU 1 SQL Oracle SQL Oracle SQL Oracle Microsoft SQL Server IBM Informix Sybase 1999 International DB2 Users Group Meeting IBM Almaden Research Center Why does DB2's optimizer generate wrong plans? Oracle Oracle Oracle E-Business Suite 11i Oracle9i 21 Oracle Corporation Query Optimization in Oracle9i

ERP 270,000 SQL 0.3% Oracle Oracle I/O N Oracle DBA SQL Oracle 2 B WHERE Oracle Oracle Oracle Oracle9i 22 Oracle Corporation Query Optimization in Oracle9i

CPU I/O CPU CPU I/O CPU I/O Oracle CPU I/O I/O I/O Oracle Oracle Oracle Oracle Oracle Oracle / DBA DBA Oracle9i 23 Oracle Corporation Query Optimization in Oracle9i

Oracle Oracle 1 Oracle DBA Oracle Oracle Oracle 2 SQL WHERE WHERE Oracle DBA 1 Oracle Oracle 2 : 1 2 WHERE SELECT * FROM EMP WHERE JOB_TITLE = 'VICE PRESIDENT' AND SAL < 40000 Oracle9i 24 Oracle Corporation Query Optimization in Oracle9i

2 5% Vice President 40% 40,000 0.05 0.40 = 0.02 Vice President Job_title Job_title 2% : DBA Oracle WHERE Oracle 2 N N Oracle Oracle9i 25 Oracle Corporation Query Optimization in Oracle9i

/ Oracle Oracle SQL CPU SQL SQL SQL Oracle Oracle9i 26 Oracle Corporation Query Optimization in Oracle9i

SQL 100 1% 1000 0.1% Oracle DBA Oracle SQL DBA Oracle Oracle Oracle Oracle DBA Oracle9i 27 Oracle Corporation Query Optimization in Oracle9i

Oracle DBA CPU 2 : : DBA 1 SQL CPU CPU SQL 2 SQL 20 SQL SQL Oracle9i 28 Oracle Corporation Query Optimization in Oracle9i

Oracle Oracle Oracle Oracle9i 29 Oracle Corporation Query Optimization in Oracle9i

Oracle9i 2000 2 : George Lumpkin, Hakan Jakobsson Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. : : +1.650.506.7000 : +1.650.506.7200 www.oracle.com Oracle Corporation Query Optimization in Oracle9i Oracle Copyright 2002 Oracle Corporation All rights reserved.