Hints (definition 1) on Hints (definition 2)

Size: px
Start display at page:

Download "Hints (definition 1) on Hints (definition 2)"

Transcription

1 Hints (definition 1) on Hints (definition 2) jonathanlewis.wordpress.com Who am I? Independent Consultant. 23+ years in IT 20+ using Oracle Strategy, Design, Review Briefings, Seminars Trouble-shooting jonathanlewis.wordpress.com One of the directors of the UKOUG Member of the Oak Table Network. Oracle Author of the year 2006 Select Editor s choice / 40 1

2 Highlights Guidelines for hinting Ignoring hints? Query Blocks - and getting lucky Precision matters Strategic hints 3 / 40 Guidelines for hinting 1. Don t 2. When you ignore #1 - be very careful 3. Try to stick to "strategic" (block level) hints 4. Check the outline for complete hinting 5. Test after every upgrade and patch 6. Test after every piece of associated DDL 4 / 40 2

3 Ignoring hints 1 Oracle MUST obey your hints Unless you ve got the syntax wrong Or you ve got the spelling wrong Or you ve got the context wrong Or the hint is illegal Or you have contradictory hints in one statement But the documentation on hints is poor There are 236 hints in (how many are documented?) select * from v$sql_hint 5 / 40 Ignoring hints 2 alter session set "_optimizer_ignore_hints"=true; /*+ IGNORE_OPTIM_EMBEDDED_HINTS */ And from one trace file I got: Trying or-expansion on query block SEL$1 (#0) USE_CONCAT hint was ignored. atom_hint=(@=221eaf74 err=0 resol=1 used=1 token=921 org=1 lvl=2 txt=use_concat (8) ) 6 / 40 3

4 Use of /*+ qb_name() */ (a) select /*+ qb_name(main) */ {list of columns} from t1, t3 where t1.n2 = 15 and exists (select /*+ qb_name(subq2) */ null from t2 where t2.n1 = 15 and t2.id = t1.id ) and t3.n1 = t1.n1 and t3.n2 = 15 and exists (select /*+ qb_name(subq4) */ null from t4 where t4.n1 = 15 and t4.id = t3.id ) 7 / 40 Use of /*+ qb_name() */ (b) select /*+ qb_name(main) no_unnest(@subq4) unnest(@subq2) leading(@sel$38f5b5f8 t1@main t3@main t2@subq2) no_push_subq(@subq4) index(@subq4 t4@subq4(id)) -- new style */ {list of columns} from t1, t3 where t1.n2 = 15 and exists (select /*+ qb_name(subq2) */... t2...) and t3.n1 = t1.n1 and t3.n2 = 15 and exists (select /*+ qb_name(subq4) */... t4...) 8 / 40 4

5 Use of /*+ qb_name() */ (c). Id Operation Name Rows 0 SELECT STATEMENT 1 1 FILTER 2 NESTED LOOPS SEMI 3 3 HASH JOIN TABLE ACCESS FULL T TABLE ACCESS FULL T TABLE ACCESS BY INDEX ROWID T2 1 7 INDEX UNIQUE SCAN T2_PK 1 8 TABLE ACCESS BY INDEX ROWID T4 1 9 INDEX UNIQUE SCAN T4_PK 1 Query Block Name / Object Alias (identified by operation id): 1 - SEL$38F5B5F8 4 - SEL$38F5B5F8 / T1@MAIN 5 - SEL$38F5B5F8 / T3@MAIN 6 - SEL$38F5B5F8 / T2@SUBQ2 7 - SEL$38F5B5F8 / T2@SUBQ2 8 - SUBQ4 / T4@SUBQ4 9 - SUBQ4 / T4@SUBQ4 9 / 40 Use of /*+ qb_name() */ (d) /*+ */ BEGIN_OUTLINE_DATA IGNORE_OPTIM_EMBEDDED_HINTS OPTIMIZER_FEATURES_ENABLE(' ') OPT_PARAM('_optimizer_cost_model' 'io') ALL_ROWS OUTLINE(@"SUBQ4") OUTLINE(@"MAIN") OUTLINE(@"SUBQ2") OUTLINE_LEAF(@"SUBQ4") OUTLINE_LEAF(@"SEL$38F5B5F8") UNNEST(@"SUBQ2") FULL(@"SEL$38F5B5F8" "T1"@"MAIN") FULL(@"SEL$38F5B5F8" "T3"@"MAIN") INDEX_RS_ASC(@"SEL$38F5B5F8" "T2"@"SUBQ2" ("T2"."ID")) LEADING(@"SEL$38F5B5F8" "T1"@"MAIN" "T3"@"MAIN" "T2"@"SUBQ2") USE_HASH(@"SEL$38F5B5F8" "T3"@"MAIN") USE_NL(@"SEL$38F5B5F8" "T2"@"SUBQ2") INDEX_RS_ASC(@"SUBQ4" "T4"@"SUBQ4" ("T4"."ID")) END_OUTLINE_DATA 10 / 40 5

6 Use of /*+ qb_name() */ (e) explain plan for... select * from table(dbms_xplan.display); select * from table(dbms_xplan.display(null,null,'{options}')); select * from table( dbms_xplan.display( null, null, 'alias outline -cost -bytes' ) ) ; 11 / 40 Precision matters (1a) select /*+ parallel(pt1,2) */ {list of columns} from pt1 where pt1.n1 = 5 and pt1.n2 = 10 and pt1.pt_group in (0,10) ; pt1 is list-partitioned on pt_group, with a local index on (n1, n2). The query visits two partitions. Id Operation Name Cost Pstart Pstop 0 SELECT STATEMENT 48 1 PARTITION LIST INLIST 48 KEY(I) KEY(I) *2 TABLE ACCESS BY LOCAL INDEX ROWID PT1 48 KEY(I) KEY(I) *3 INDEX RANGE SCAN PT1_I1 3 KEY(I) KEY(I) 12 / 40 6

7 Precision matters (1b) select /*+ full(pt1) parallel(pt1,2) */ {list of columns} from pt1 where pt1.n1 = 5 and pt1.n2 = 10 and pt1.pt_group in (0,10) ;. Id Operation Name Cost Pstart Pstop TQ IN-OUT PQ Distrib 0 SELECT STATEMENT 94 1 PX COORDINATOR 2 PX SEND QC (RANDOM) :TQ10 94 Q1,00 P->S QC (RAND) 3 PX BLOCK ITERATOR 94 KEY(I) KEY(I) Q1,00 PCWC * 4 TABLE ACCESS FULL PT1 94 KEY(I) KEY(I) Q1,00 PCWP 13 / 40 Precision matters (1c) select /*+ parallel(pt1,4) */ {list of columns} from pt1 where pt1.n1 = 5 and pt1.n2 = 10 and pt1.pt_group in (0,10) ;. Id Operation Name Cost Pstart Pstop TQ IN-OUT PQ Distrib 0 SELECT STATEMENT 47 1 PX COORDINATOR 2 PX SEND QC (RANDOM) :TQ10 47 Q1,00 P->S QC (RAND) 3 PX BLOCK ITERATOR 47 KEY(I) KEY(I) Q1,00 PCWC * 4 TABLE ACCESS FULL PT1 47 KEY(I) KEY(I) Q1,00 PCWP 14 / 40 7

8 Precision matters (2) NESTED LOOP TABLE ACCESS (FULL) OF T7 TABLE ACCESS BY INDEX ROWID T8 INDEX RANGE SCAN T8_IND_SECOND -- wrong index select /*+ index(t8 t8_ind_first) */ -- hint the right one HASH JOIN TABLE ACCESS (FULL) OF T7 TABLE ACCESS BY INDEX ROWID T8 INDEX FULL SCAN T8_IND_FIRST -- wrong method -- right index select /*+ index_rs_asc(t8 t8_ind_first) */ -- the right hint 15 / 40 Strategic Hints Shape the query, without forcing details: (no_)unnest (no_)push_subq (no_)merge (no_)push_pred driving_site() whether to transform subqueries or not when to run subqueries - early or late control handling of complex views how to join into non-mergeable views where to run a distributed query The hints about query block transformation are the safest ones 16 / 40 8

9 Feature Hints Becoming more common in 11g Switch off new features (matched to parameters) Also fairly safe to use For example: cursor_sharing_exact no_set_to_join no_use_hash_aggregation no_eliminate_join no_eliminate_oby overrides cursor_sharing = f / s disable set to join conversion disable hash aggregation disable join elimination disable order by elimination opt_param('parameter','value') 17 / 40 Unnesting (a) select outer.* from emp outer where outer.sal > ( select /*+ unnest redundant from 9i */ avg(inner.sal) from emp inner where inner.dept_no = outer.dept_no ) ; 18 / 40 9

10 Unnesting (b) select -- notional transformation (9i) outer.* from ( select dept_no, avg(sal) av_sal from emp group by dept_no ) inner, emp outer where outer.dept_no = inner.dept_no and outer.sal > inner.av_sal; 19 / 40 Unnesting (c) select -- investigated transformation (10g) outer.dept_no dept_no, outer.sal sal, outer.emp_no emp_no, outer.padding padding from test_user.emp inner, test_user.emp outer where inner.dept_no = outer.dept_no group by inner.dept_no, outer.rowid, outer.padding, outer.emp_no, outer.sal, outer.dept_no having outer.sal > avg(inner.sal) 20 / 40 10

11 Subquery pushdown (1) select t1.v1 from t1, t3 where t1.n2 = 15 /* and exists (select --+ no_unnest qb_name(subq2) null from t2 where t2.n1 = 15 and t2.id = t1.id ) */ and t3.n1 = t1.n1 and t3.n2 = 15 ; 21 / 40 Subquery pushdown (2) Execution Plan without subquery. Id Operation Name Rows Bytes Cost 0 SELECT STATEMENT * 1 HASH JOIN * 2 TABLE ACCESS FULL T * 3 TABLE ACCESS FULL T Execution Plan with subquery. Id Operation Name Rows Bytes Cost 0 SELECT STATEMENT * 1 FILTER * 2 HASH JOIN * 3 TABLE ACCESS FULL T * 4 TABLE ACCESS FULL T * 5 TABLE ACCESS BY INDEX ROWID T * 6 INDEX UNIQUE SCAN T2_PK / 40 11

12 Subquery pushdown (3) select /*+ ordered push_subq */ -- 9i use of hint /*+ ordered */ -- 10g use of hint /*+ */ -- 10g use of hint t1.v1 from t1, t3 where t1.n2 = 15 and exists (select --+ no_unnest qb_name(subq2) push_subq null from t2 where t2.n1 = 15 Alternative 10g use of hint. and t2.id = t1.id ) and t3.n1 = t1.n1 and t3.n2 = 15 ; 23 / 40 Subquery pushdown (4) Execution Plan without pushing. Id Operation Name Rows Bytes Cost(%CPU) Time 0 SELECT STATEMENT (2) 00:00:05 * 1 FILTER * 2 HASH JOIN (2) 00:00:03 * 3 TABLE ACCESS FULL T (2) 00:00:02 * 4 TABLE ACCESS FULL T (2) 00:00:02 * 5 TABLE ACCESS BY INDEX ROWID T (0) 00:00:01 * 6 INDEX UNIQUE SCAN T2_PK 1 1 (0) 00:00:01 Execution Plan pushed. Id Operation Name Rows Bytes Cost(%CPU) Time 0 SELECT STATEMENT (2) 00:00:03 * 1 HASH JOIN (2) 00:00:03 * 2 TABLE ACCESS FULL (filter) T (2) 00:00:02 * 3 TABLE ACCESS BY INDEX ROWID T (0) 00:00:01 * 4 INDEX UNIQUE SCAN T2_PK 1 1 (0) 00:00:01 * 5 TABLE ACCESS FULL T (2) 00:00:02 24 / 40 12

13 Non-mergeable views (a) Customers Orders Suppliers Products List all orders supplied to customers in Boston that contain products from suppliers in Dallas There may not be many of them, but there is no really efficient way to find them. Order_lines The only filters are at the ends of a five table join 25 / 40 Non-mergeable views (b) Customers Suppliers Orders Products Order_lines select /*+ ordered use_hash(prdsup) swap_join_inputs(prdsup) use_hash(cusord) swap_join_inputs(cusord) */ cusord.* from order_lines orl, ( select /*+ no_merge */ prd.id from products prd, suppliers sup where sup.location = 'Dallas' and prd.supp_id = sup.id ) prdsup, ( select /*+ no_merge */ ord.* from customers cus, orders ord where cus.location = 'Boston' and ord.cust_id = cus.id ) cusord where orl.order_id = cusord.id and prdsup.id = orl.product_id; 26 / 40 13

14 Non-mergeable views (c) 1 HASH JOIN 2 VIEW -- (1) hash this view 3 HASH JOIN 4 TABLE ACCESS (FULL) OF 'CUSTOMERS' 5 TABLE ACCESS (FULL) OF 'ORDERS' 6 HASH JOIN 7 VIEW -- (2) hash this view 8 HASH JOIN 9 TABLE ACCESS (FULL) OF 'SUPPLIERS' 10 TABLE ACCESS (FULL) OF 'PRODUCTS' 11 TABLE ACCESS (FULL) OF 'ORDER_LINES -- (3) scan this table Order lines are passed through the products/suppliers hash, then through the customers/orders hash. This could use a lot of memory. 27 / 40 Pushing Join Predicates (a) create or replace view v1 as select t2.id1, t2.id2, t3.small_vc, t3.padding from t2, t3 where t3.id1 = t2.id1 and t3.id2 = t2.id2 ; select /*+ push_pred(v1) */ t1.*, v1.* from t1, v1 where v1.id1(+) = t1.id1 and t1.n1 = 5 ; 28 / 40 14

15 Pushing Join Predicates (b) Plan before predicate pushing. Id Operation Name Rows Bytes Cost 0 SELECT STATEMENT * 1 HASH JOIN OUTER * 2 TABLE ACCESS FULL T VIEW V K 44 4 NESTED LOOPS K 44 5 TABLE ACCESS FULL T K 44 * 6 INDEX UNIQUE SCAN T2_PK 1 9 Predicate Information (identified by operation id): 1 - access("v1"."id1"(+)="t1"."id1") 2 - filter("t1"."n1"=5) 6 - access("t3"."id1"="t2"."id1" AND "T3"."ID2"="T2"."ID2") 29 / 40 Pushing Join Predicates (c) Plan with predicate pushing. Id Operation Name Rows Bytes Cost 0 SELECT STATEMENT NESTED LOOPS OUTER * 2 TABLE ACCESS FULL T VIEW PUSHED PREDICATE V NESTED LOOPS TABLE ACCESS BY INDEX ROWID T * 6 INDEX RANGE SCAN T3_PK 5 2 * 7 INDEX UNIQUE SCAN T2_PK 1 13 Predicate Information (identified by operation id): 2 - filter("t1"."n1"=5) 6 - access("t3"."id1"="t1"."id1") 7 - access("t2"."id1"="t1"."id1" AND "T3"."ID2"="T2"."ID2") filter("t3"."id1"="t2"."id1") 30 / 40 15

16 Distributed Effects create table dist_home {dist_away} as select rownum id, rpad(rownum,10) small_vc, rpad(rownum,200) large_vc from all_objects where rownum <= 2000; alter table dist_home {dist_away} add constraint dh_pk {da_pk} primary key (id); create public database link using 'd920'; 31 / 40 Distributed Effects select /*+ driving_site (dh) */ dh.small_vc, da.large_vc from dist_home dist_away@d920@loopback where dh.small_vc like '12%' and da.id = dh.id ; dh, da 32 / 40 16

17 Distributed Effects ID Row Source 0 SELECT STATEMENT (all_rows) 1 NESTED LOOPS 2 TABLE ACCESS(analyzed)DIST_HOME full 3 REMOTE SERIAL_FROM_REMOTE 3 D920@LOOPBACK -- object_node 3 SELECT "ID","LARGE_VC" -- other FROM "DIST_AWAY" "DA" WHERE "ID"=:1 -- read consistency? 33 / 40 Distributed Effects Change the filter predicate to select more data: dh.small_vc like '1%' ID Row Source 0 SELECT STATEMENT (all_rows) 1 HASH JOIN 2 TABLE ACCESS(analyzed)DIST_HOME full 3 REMOTE SERIAL_FROM_REMOTE 3 D920@LOOPBACK 3 SELECT "ID","LARGE_VC" FROM "DIST_AWAY" "DA" 34 / 40 17

18 Distributed Effects Tune the hash join by changing the driving site to the away d/b /*+ driving_site (da) */ ID Row Source 0 SELECT STATEMENT (all_rows)(remote) 1 HASH JOIN 2 REMOTE SERIAL_FROM_REMOTE 3 TABLE ACCESS(analyzed)DIST_AWAY full 2! -- where is this node? 3 D920@LOOPBACK -- this one knows who it is 2 SELECT "ID","SMALL_VC" FROM "DIST_HOME" "A2" WHERE "SMALL_VC" LIKE '1%' 35 / 40 Multi-table distributed joins select... from sales@d920@loopback sal, sites sit, products@d920@loopback prd where... SELECT STATEMENT Optimizer=ALL_ROWS HASH JOIN INDEX (FULL SCAN) OF 'SI_PK' (UNIQUE) REMOTE* SERIAL_FROM_REMOTE D920.JLCOMP.CO.UK@LOOPBACK SELECT "A1"."SALE_DATE",... "A2"."PROMOTED" FROM "SALES" "A1","PRODUCTS" "A2" WHERE / 40 18

19 Multi-table distributed joins 0 SELECT STATEMENT Optimizer=ALL_ROWS 1 NESTED LOOPS 2 NESTED LOOPS 3 REMOTE* D920.JLCOMP.CO.UK@LOOPBACK 4 INDEX (UNIQUE SCAN) OF 'SI_PK' (UNIQUE) 5 REMOTE* D920.JLCOMP.CO.UK@LOOPBACK 3 SELECT "SALE_DATE","SITE","PRODUCT","QTY","PROFIT" FROM "SALES" "SAL" 5 SELECT /*+ INDEX("PRD") USE_NL("PRD") */ "ID","PROMOTED" FROM "PRODUCTS" "PRD" WHERE "ID"= :1 AND "PROMOTED">TO_DATE(' :00:00', 'yyyy-mm-dd hh24:mi:ss') 37 / 40 How to use hints (1) Set the join order Ordered, leading (t1, t2, ) (10g version) But remember unnesting problems with ordered Join method for N-1 tables Use_nl, use_merge, use_hash + (no_)swap_join_inputs Access path for every table Index, no_index, hash, full, index_ffs etc. Average two hints per table to do it well (three if you use hash joins) 38 / 40 19

20 How to use hints (2) Block or force unnesting unnest, no_unnest - in the subquery Block or force early subqueries push_subq, no_push_subq change syntax in 10g Block or force merging merge, no_merge - two forms, with or w/o alias Block, or force, predicate pushing push_pred, no_push_pred (10g) Choosing the driving site for distributed Driving_site() 39 / 40 Summary Avoid micro-management hints Use query block names from 10g onwards Use "outline" to see the full set of hints Strategic hints can be useful and safe Feature hints can be useful and safe Keep testing on every upgrade 40 / 40 20

Hints (definition 1) on Hints (definition 2)

Hints (definition 1) on Hints (definition 2) Hints (definition 1) on Hints (definition 2) www.jlcomp.demon.co.uk jonathanlewis.wordpress.com Who am I? Independent Consultant. 23+ years in IT 20+ using Oracle Strategy, Design, Review Briefings, Seminars

More information

Five Hints for Optimising SQL

Five Hints for Optimising SQL Five Hints for Optimising SQL Jonathan Lewis JL Computer Consultancy UK Keywords: SQL Optimisation Hints Subquery Merge push_pred Unnest push_subq driving_site Introduction Adding hints to production code

More information

Advanced Oracle Performance Troubleshooting. Query Transformations Randolf Geist

Advanced Oracle Performance Troubleshooting. Query Transformations Randolf Geist Advanced Oracle Performance Troubleshooting Query Transformations Randolf Geist http://oracle-randolf.blogspot.com/ http://www.sqltools-plusplus.org:7676/ info@sqltools-plusplus.org Independent Consultant

More information

Parallel Execution Plans

Parallel Execution Plans Parallel Execution Plans jonathanlewis.wordpress.com www.jlcomp.demon.co.uk My History Independent Consultant 33+ years in IT 28+ using Oracle (5.1a on MSDOS 3.3 Strategy, Design, Review, Briefings, Educational,

More information

Oracle DB-Tuning Essentials

Oracle DB-Tuning Essentials Infrastructure at your Service. Oracle DB-Tuning Essentials Agenda 1. The DB server and the tuning environment 2. Objective, Tuning versus Troubleshooting, Cost Based Optimizer 3. Object statistics 4.

More information

Bloom Filters DOAG Webinar, 12 August 2016 Christian Antognini Senior Principal Consultant

Bloom Filters DOAG Webinar, 12 August 2016 Christian Antognini Senior Principal Consultant DOAG Webinar, 12 August 2016 Christian Antognini Senior Principal Consultant BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH

More information

Oracle Hints. Using Optimizer Hints

Oracle Hints. Using Optimizer Hints Politecnico di Torino Tecnologia delle Basi di Dati Oracle Hints Computer Engineering, 2009-2010, slides by Tania Cerquitelli and Daniele Apiletti Using Optimizer Hints You can use comments in a SQL statement

More information

Real-World Performance Training SQL Performance

Real-World Performance Training SQL Performance Real-World Performance Training SQL Performance Real-World Performance Team Agenda 1 2 3 4 5 6 The Optimizer Optimizer Inputs Optimizer Output Advanced Optimizer Behavior Why is my SQL slow? Optimizer

More information

The Oracle Optimizer Explain the Explain Plan O R A C L E W H I T E P A P E R A P R I L

The Oracle Optimizer Explain the Explain Plan O R A C L E W H I T E P A P E R A P R I L The Oracle Optimizer Explain the Explain Plan O R A C L E W H I T E P A P E R A P R I L 2 0 1 7 Table of Contents Introduction 1 The Execution Plan 2 Displaying the Execution Plan 3 What is Cost? 7 Understanding

More information

optimization process (see Optimization process, CBO) RBO, 25 Cursor cache, 41, 42 child, 42 parent, 42

optimization process (see Optimization process, CBO) RBO, 25 Cursor cache, 41, 42 child, 42 parent, 42 Index A Access methods bitmap index access CONVERSION COUNT example, 251 INDEX COMBINE, INLIST, 252 manipulation operations, 249 operations, 248, 250 251 physical structure, 247 restricted ROWIDs, 248

More information

Writing Optimal SQL. By Jonathan Lewis. Embarcadero Technologies. June 2010

Writing Optimal SQL. By Jonathan Lewis. Embarcadero Technologies. June 2010 Writing Optimal SQL By Embarcadero Technologies June 2010 This white paper is a companion piece to Embarcadero s live webcast event on June 10 th, 2010. The slides for that event will be delivered to all

More information

Answer: Reduce the amount of work Oracle needs to do to return the desired result.

Answer: Reduce the amount of work Oracle needs to do to return the desired result. SQL Tuning 101 excerpt: Explain Plan A Logical Approach By mruckdaschel@affiniongroup.com Michael Ruckdaschel Affinion Group International My Qualifications Software Developer for Affinion Group International

More information

Real-World Performance Training SQL Performance

Real-World Performance Training SQL Performance Real-World Performance Training SQL Performance Real-World Performance Team Agenda 1 2 3 4 5 6 SQL and the Optimizer You As The Optimizer Optimization Strategies Why is my SQL slow? Optimizer Edges Cases

More information

Wolfgang Breitling.

Wolfgang Breitling. Wolfgang Breitling (breitliw@centrexcc.com) 2 a) cost card operation ------- -------- -------------------------------------------------------------- 2,979 446 SELECT STATEMENT 2,979 446 SORT ORDER BY FILTER

More information

Appendix: Application of the Formal Principle for the Analysis of Performance Problems After an Oracle Migration

Appendix: Application of the Formal Principle for the Analysis of Performance Problems After an Oracle Migration Appendix: Application of the Formal Principle for the Analysis of Performance Problems After an Oracle Migration The method described in this book is helpful in most cases which a database specialist is

More information

SQL Tuning via Toad Tips for Optimizing SQL Performance

SQL Tuning via Toad Tips for Optimizing SQL Performance 2008 Quest Software, Inc. ALL RIGHTS RESERVED. SQL Tuning via Toad Tips for Optimizing SQL Performance Bert Scalzo Database Expert & Product Architect for Quest Software Oracle Background: Worked with

More information

Tools and methods for optimization of databases in Oracle 10g. Part 2 Tuning of hardware, applications and SQL queries

Tools and methods for optimization of databases in Oracle 10g. Part 2 Tuning of hardware, applications and SQL queries STUDIA INFORMATICA Nr 1-2 (18) Systems and information technology 2014 Andrzej Barczak 1 Dariusz Zacharczuk 1 Damian Pluta 1 1 University of Natural Sciences and Humanities, Institute of Computer Science,

More information

Objectives. After completing this lesson, you should be able to do the following:

Objectives. After completing this lesson, you should be able to do the following: Objectives After completing this lesson, you should be able to do the following: Describe the types of problems that subqueries can solve Define subqueries List the types of subqueries Write single-row

More information

Top 10 Features in Oracle 12C for Developers and DBA s Gary Bhandarkar Merck & Co., Inc., Rahway, NJ USA

Top 10 Features in Oracle 12C for Developers and DBA s Gary Bhandarkar Merck & Co., Inc., Rahway, NJ USA Top 10 Features in Oracle 12C for Developers and DBA s Gary Bhandarkar Merck & Co., Inc., Rahway, NJ USA Agenda Background ORACLE 12c FEATURES CONCLUSION 2 Top 10 Oracle 12c Features Feature 1: ADAPTIVE

More information

QUERY TRANSFORMATION Part 1

QUERY TRANSFORMATION Part 1 Introduction QUERY TRANSFORMATION Part 1 Query transformation is a set of techniques used by the optimizer to rewrite a query and optimizer it better. Few optimization paths open up to the optimizer after

More information

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9)

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 6 Professional Program: Data Administration and Management MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) AGENDA

More information

How to Read and Interpret an Explain Plan

How to Read and Interpret an Explain Plan How to Read and Interpret an Explain Plan NZOUG Webinary June 25, 2010 Daniel A. Morgan Oracle ACE Director University of Washington Oracle Instructor for 10 years Morgan of Morgan s Library on the web

More information

Horrid compression collateral

Horrid compression collateral Horrid compression collateral jonathanlewis.wordpress.com www.jlcomp.demon.co.uk Who am I? Independent Consultant 28+ years in IT 24+ using Oracle Strategy, Design, Review, Briefings, Educational, Trouble-shooting

More information

DRAFT SOLUTION. Query 1(a) DATABASE MANAGEMENT SYSTEMS PRACTICE 1

DRAFT SOLUTION. Query 1(a) DATABASE MANAGEMENT SYSTEMS PRACTICE 1 DATABASE MANAGEMENT SYSTEMS PRACTICE 1 DRAFT SOLUTION Remark: Solutions in Algebra reflects the choices and the values returned by the Oracle Optimizer. Query 1(a) The Oracle optimizer prefers to use the

More information

Suppose we need to get/retrieve the data from multiple columns which exists in multiple tables...then we use joins..

Suppose we need to get/retrieve the data from multiple columns which exists in multiple tables...then we use joins.. JOINS: why we need to join?? Suppose we need to get/retrieve the data from multiple columns which exists in multiple tables...then we use joins.. what is the condition for doing joins??...yes at least

More information

Recent Enhancements in Auto SQL Tuning. Jonathan Lewis

Recent Enhancements in Auto SQL Tuning. Jonathan Lewis Recent Enhancements in Auto SQL Tuning www.jlcomp.demon.co.uk Who am I? Independent Consultant. 21+ years in IT 18+ using Oracle Strategy, Design, Review Briefings, Seminars Trouble-shooting www.jlcomp.demon.co.uk

More information

Scaling To Infinity: Making Star Transformations Sing. Thursday 15-November 2012 Tim Gorman

Scaling To Infinity: Making Star Transformations Sing. Thursday 15-November 2012 Tim Gorman Scaling To Infinity: Making Star Transformations Sing Thursday 15-November 2012 Tim Gorman www.evdbt.com Speaker Qualifications Co-author 1. Oracle8 Data Warehousing, 1998 John Wiley & Sons 2. Essential

More information

Application Containers an Introduction

Application Containers an Introduction Application Containers an Introduction Oracle Database 12c Release 2 Multitenancy for Applications Markus Flechtner BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE

More information

Practice Manual: How to optimize SQL statement of using DBLINK on Oracle

Practice Manual: How to optimize SQL statement of using DBLINK on Oracle Practice Manual: How to optimize SQL statement of using DBLINK on Oracle Usually, a good approach of optimizing SQL statement using DBLINK is that you could try your best to reduce data returned calling

More information

Oh! I see a problem. cost = blevel + ceil(selectivity * leaf_blocks) + ceil(selectivity * clustering_factor)

Oh! I see a problem. cost = blevel + ceil(selectivity * leaf_blocks) + ceil(selectivity * clustering_factor) Oh! I see a problem There are several assumptions built into the Cost Based Optimizer that can make it generate an unsuitable plan. Oracle Corp. keeps introducing refinements to the optimiser code to work

More information

Data Vault Partitioning Strategies WHITE PAPER

Data Vault Partitioning Strategies WHITE PAPER Dani Schnider Data Vault ing Strategies WHITE PAPER Page 1 of 18 www.trivadis.com Date 09.02.2018 CONTENTS 1 Introduction... 3 2 Data Vault Modeling... 4 2.1 What is Data Vault Modeling? 4 2.2 Hubs, Links

More information

Application Containers an Introduction

Application Containers an Introduction Application Containers an Introduction Oracle Database 12c Release 2 - Multitenancy for Applications Markus Flechtner BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN

More information

Oracle Database 18c New Performance Features

Oracle Database 18c New Performance Features Oracle Database 18c New Performance Features Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART

More information

Interpreting Explain Plan Output. John Mullins

Interpreting Explain Plan Output. John Mullins Interpreting Explain Plan Output John Mullins jmullins@themisinc.com www.themisinc.com www.themisinc.com/webinars Presenter John Mullins Themis Inc. (jmullins@themisinc.com) 30+ years of Oracle experience

More information

20 Essential Oracle SQL and PL/SQL Tuning Tips. John Mullins

20 Essential Oracle SQL and PL/SQL Tuning Tips. John Mullins 20 Essential Oracle SQL and PL/SQL Tuning Tips John Mullins jmullins@themisinc.com www.themisinc.com www.themisinc.com/webinars Presenter John Mullins Themis Inc. (jmullins@themisinc.com) 30+ years of

More information

Adaptive

Adaptive Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH @ChrisAntognini Senior

More information

Databases IIB: DBMS-Implementation Exercise Sheet 13

Databases IIB: DBMS-Implementation Exercise Sheet 13 Prof. Dr. Stefan Brass January 27, 2017 Institut für Informatik MLU Halle-Wittenberg Databases IIB: DBMS-Implementation Exercise Sheet 13 As requested by the students, the repetition questions a) will

More information

Oracle Database 11g: SQL Tuning Workshop. Student Guide

Oracle Database 11g: SQL Tuning Workshop. Student Guide Oracle Database 11g: SQL Tuning Workshop Student Guide D52163GC10 Edition 1.0 June 2008 Author Jean-François Verrier Technical Contributors and Reviewers Muriel Fry (Special thanks) Joel Goodman Harald

More information

Application Containers an Introduction

Application Containers an Introduction Application Containers an Introduction Oracle Database 12c Release 2 Multitenancy for Applications Markus Flechtner @markusdba doag2017 Our company. Trivadis is a market leader in IT consulting, system

More information

Oracle 9i Application Development and Tuning

Oracle 9i Application Development and Tuning Index 2NF, NOT 3NF or BCNF... 2:17 A Anomalies Present in this Relation... 2:18 Anomalies (Specific) in this Relation... 2:4 Application Design... 1:28 Application Environment... 1:1 Application-Specific

More information

Real-World Performance Training SQL Introduction

Real-World Performance Training SQL Introduction Real-World Performance Training SQL Introduction Real-World Performance Team Basics SQL Structured Query Language Declarative You express what you want to do, not how to do it Despite the name, provides

More information

Does the Optimizer Need a Clue?

Does the Optimizer Need a Clue? F E AT U R E Does the Optimizer Need a Clue? Ask the Oracles! Gaja Krishna Vaidyanatha: Let me start with a life-altering philosophical question to my male readers! When your wife or significant other

More information

Query Optimization Overview

Query Optimization Overview Query Optimization Overview parsing, syntax checking semantic checking check existence of referenced relations and attributes disambiguation of overloaded operators check user authorization query rewrites

More information

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting Independent consultant Available for consulting In-house workshops Cost-Based Optimizer Performance By Design Performance Troubleshooting Oracle ACE Director Member of OakTable Network Optimizer Basics

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including

More information

Oracle SQL Tuning for Developers Workshop Student Guide - Volume I

Oracle SQL Tuning for Developers Workshop Student Guide - Volume I Oracle SQL Tuning for Developers Workshop Student Guide - Volume I D73549GC10 Edition 1.0 October 2012 D78799 Authors Sean Kim Dimpi Rani Sarmah Technical Contributors and Reviewers Nancy Greenberg Swarnapriya

More information

Top 5 Issues that Cannot be Resolved by DBAs (other than missed bind variables)

Top 5 Issues that Cannot be Resolved by DBAs (other than missed bind variables) Top 5 Issues that Cannot be Resolved by DBAs (other than missed bind variables) March 12, 2013 Michael Rosenblum Dulcian, Inc. www.dulcian.com 1 of 43 Who Am I? Misha Oracle ACE Co-author of 2 books PL/SQL

More information

Advanced SQL Processing Prepared by Destiny Corporation

Advanced SQL Processing Prepared by Destiny Corporation Advanced SQL Processing Prepared by Destiny Corporation Summary Functions With a single argument, but with other selected columns, the function gives a result for all the rows, then merges the back with

More information

ORACLE TRAINING CURRICULUM. Relational Databases and Relational Database Management Systems

ORACLE TRAINING CURRICULUM. Relational Databases and Relational Database Management Systems ORACLE TRAINING CURRICULUM Relational Database Fundamentals Overview of Relational Database Concepts Relational Databases and Relational Database Management Systems Normalization Oracle Introduction to

More information

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting Independent consultant Available for consulting In-house workshops Cost-Based Optimizer Performance By Design Performance Troubleshooting Oracle ACE Director Member of OakTable Network Optimizer Basics

More information

Tao Zuo NPD Group June, Document classification: Restricted Information

Tao Zuo NPD Group June, Document classification: Restricted Information Tao Zuo NPD Group June, 2016 Oracle SQL tuning is a phenomenally complex subject. Assumption: Server/Instance/Object/optimizer-related level setting is optimal process is running very long time ( almost

More information

Optimized Analytical Processing New Features with 11g R2

Optimized Analytical Processing New Features with 11g R2 Optimized Analytical Processing New Features with 11g R2 Hüsnü Şensoy Global Maksimum Data & Information Technologies Founder, VLDB Expert Agenda Introduction Understanding Optimized Analytical Processing

More information

What the SQL is Going On Out Here?

What the SQL is Going On Out Here? What the SQL is Going On Out Here? New Book: ISBN: 0-7897-2369-7 www.amazon.com Our Mission To enable today s businesses to achieve 24x7 operation of mission-critical applications The ebusiness Infrastructure

More information

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time SQL Basics & PL-SQL Complete Practical & Real-time Training Sessions A Unit of SequelGate Innovative Technologies Pvt. Ltd. ISO Certified Training Institute Microsoft Certified Partner Training Highlights

More information

The use of Hints in SQL-Nested query optimization

The use of Hints in SQL-Nested query optimization Information Sciences 177 (2007) 2493 2521 www.elsevier.com/locate/ins The use of Hints in SQL-Nested query optimization David Taniar a, *, Hui Yee Khaw a, Haorianto Cokrowijoyo Tjioe a, Eric Pardede b

More information

Oracle. Exam Questions 1Z Oracle Database 11g Release 2: SQL Tuning Exam. Version:Demo

Oracle. Exam Questions 1Z Oracle Database 11g Release 2: SQL Tuning Exam. Version:Demo Oracle Exam Questions 1Z0-117 Oracle Database 11g Release 2: SQL Tuning Exam Version:Demo 1.You ran a high load SQL statement that used an index through the SQL Tuning Advisor and accepted its recommendation

More information

Join Selectivity. Jonathan Lewis JL Computer Consultancy London, UK

Join Selectivity. Jonathan Lewis JL Computer Consultancy London, UK Join Selectivity Jonathan Lewis JL Computer Consultancy London, UK Keywords: Selectivity, Cardinality, Statistics, Joins, Cost-based Optimizer Introduction In this note I will be describing the basic mechanism

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 19 Query Optimization Introduction Query optimization Conducted by a query optimizer in a DBMS Goal: select best available strategy for executing query Based on information available Most RDBMSs

More information

The use of hints in object-relational query optimization

The use of hints in object-relational query optimization Comput Syst Sci & Eng (2004) 6: 337 345 2004 CRL Publishing Ltd International Journal of Computer Systems Science & Engineering The use of hints in object-relational query optimization David Taniar*, Hui

More information

Administrivia. Physical Database Design. Review: Optimization Strategies. Review: Query Optimization. Review: Database Design

Administrivia. Physical Database Design. Review: Optimization Strategies. Review: Query Optimization. Review: Database Design Administrivia Physical Database Design R&G Chapter 16 Lecture 26 Homework 5 available Due Monday, December 8 Assignment has more details since first release Large data files now available No class Thursday,

More information

ORACLE DATABASE 12C INTRODUCTION

ORACLE DATABASE 12C INTRODUCTION SECTOR / IT NON-TECHNICAL & CERTIFIED TRAINING COURSE In this training course, you gain the skills to unleash the power and flexibility of Oracle Database 12c, while gaining a solid foundation of database

More information

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague course: Database Applications (NDBI026) WS2015/16 RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague Schema modification Adding

More information

<Insert Picture Here> DBA s New Best Friend: Advanced SQL Tuning Features of Oracle Database 11g

<Insert Picture Here> DBA s New Best Friend: Advanced SQL Tuning Features of Oracle Database 11g DBA s New Best Friend: Advanced SQL Tuning Features of Oracle Database 11g Peter Belknap, Sergey Koltakov, Jack Raitto The following is intended to outline our general product direction.

More information

Oracle Database 11g: SQL Tuning Workshop

Oracle Database 11g: SQL Tuning Workshop Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Oracle Database 11g: SQL Tuning Workshop Duration: 3 Days What you will learn This Oracle Database 11g: SQL Tuning Workshop Release

More information

Project. Building a Simple Query Optimizer with Performance Evaluation Experiment on Query Rewrite Optimization

Project. Building a Simple Query Optimizer with Performance Evaluation Experiment on Query Rewrite Optimization Project CIS611 SS Chung Building a Simple Query Optimizer with Performance Evaluation Experiment on Query Rewrite Optimization This project is to simulate a simple Query Optimizer that: 1. Evaluates query

More information

Tuning SQL without the Tuning Pack. John Larkin JP Morgan Chase

Tuning SQL without the Tuning Pack. John Larkin JP Morgan Chase Tuning SQL without the Tuning Pack John Larkin JP Morgan Chase Who am I Originally a mainframe COBOL programmer DBA for the last 23 years, the last 15 with Oracle. UNIX (Solaris, Aix, Windows, Linux) Recently

More information

Performance Optimization for Informatica Data Services ( Hotfix 3)

Performance Optimization for Informatica Data Services ( Hotfix 3) Performance Optimization for Informatica Data Services (9.5.0-9.6.1 Hotfix 3) 1993-2015 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic,

More information

Query Processing and Query Optimization. Prof Monika Shah

Query Processing and Query Optimization. Prof Monika Shah Query Processing and Query Optimization Query Processing SQL Query Is in Library Cache? System catalog (Dict / Dict cache) Scan and verify relations Parse into parse tree (relational Calculus) View definitions

More information

Query Optimizer MySQL vs. PostgreSQL

Query Optimizer MySQL vs. PostgreSQL Percona Live, Frankfurt (DE), 7 November 2018 Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART

More information

Creating and Managing Tables Schedule: Timing Topic

Creating and Managing Tables Schedule: Timing Topic 9 Creating and Managing Tables Schedule: Timing Topic 30 minutes Lecture 20 minutes Practice 50 minutes Total Objectives After completing this lesson, you should be able to do the following: Describe the

More information

Teradata SQL Features Overview Version

Teradata SQL Features Overview Version Table of Contents Teradata SQL Features Overview Version 14.10.0 Module 0 - Introduction Course Objectives... 0-4 Course Description... 0-6 Course Content... 0-8 Module 1 - Teradata Studio Features Optimize

More information

Query Optimizer MySQL vs. PostgreSQL

Query Optimizer MySQL vs. PostgreSQL Percona Live, Santa Clara (USA), 24 April 2018 Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH

More information

Neil Chandler, Chandler Systems Oracle & SQL Server DBA

Neil Chandler, Chandler Systems Oracle & SQL Server DBA Neil Chandler, Chandler Systems Oracle & SQL Server DBA In IT since 1988 Working with Oracle since about 1991 Chairman of the UKOUG RAC, Cloud, Infrastructure and Availability SIG BLOG: http://chandlerdba.wordpress.com/

More information

SQL Query Writing Tips To Improve Performance in Db2 and Db2 Warehouse on Cloud

SQL Query Writing Tips To Improve Performance in Db2 and Db2 Warehouse on Cloud SQL Query Writing Tips To Improve Performance in Db2 and Db2 Warehouse on Cloud Calisto Zuzarte IBM St. Louis Db2 User s Group 201803 Tue, March 06, 2018 Db2 Warehouse Db2 Warehouse on Cloud Integrated

More information

Database Design and Tuning

Database Design and Tuning Database Design and Tuning Chapter 20 Comp 521 Files and Databases Spring 2010 1 Overview After ER design, schema refinement, and the definition of views, we have the conceptual and external schemas for

More information

Query Optimizer, Who Influences & How it works ++ optimization techniques

Query Optimizer, Who Influences & How it works ++ optimization techniques Query Optimizer, Who Influences & How it works ++ optimization techniques AIOUG : ODevC Yatra 2018, India Chandan Tanwani Senior Application Engineer Oracle Financial Services Software Ltd. Copyright 2018

More information

MySQL 8.0 What s New in the Optimizer

MySQL 8.0 What s New in the Optimizer MySQL 8.0 What s New in the Optimizer Manyi Lu Director MySQL Optimizer & GIS Team, Oracle October 2016 Copyright Copyright 2 015, 2016,Oracle Oracle and/or and/or its its affiliates. affiliates. All All

More information

Key Data Warehousing Features in Oracle10g: A Comparative Performance Analysis. An Oracle White Paper April 2005

Key Data Warehousing Features in Oracle10g: A Comparative Performance Analysis. An Oracle White Paper April 2005 Key Data Warehousing Features in Oracle10g: A Comparative Performance Analysis An Oracle White Paper April 2005 Key Data Warehousing Features in Oracle10g: A Comparative Performance Analysis Executive

More information

php works 2006 in Toronto Lukas Kahwe Smith

php works 2006 in Toronto Lukas Kahwe Smith Building Portable Database Applications php works 2006 in Toronto Lukas Kahwe Smith smith@pooteeweet.org Agenda: Overview Introduction ext/pdo PEAR::MDB2 ORM and ActiveRecord SQL Syntax Result Sets High

More information

Infrastructure at your Service. In-Memory-Pläne für den 12.2-Optimizer: Teuer oder billig?

Infrastructure at your Service. In-Memory-Pläne für den 12.2-Optimizer: Teuer oder billig? Infrastructure at your Service. In-Memory-Pläne für den 12.2-Optimizer: Teuer oder billig? About me Infrastructure at your Service. Clemens Bleile Senior Consultant Oracle Certified Professional DB 11g,

More information

Advanced Oracle SQL Tuning v3.0 by Tanel Poder

Advanced Oracle SQL Tuning v3.0 by Tanel Poder Advanced Oracle SQL Tuning v3.0 by Tanel Poder /seminar Training overview This training session is entirely about making Oracle SQL execution run faster and more efficiently, understanding the root causes

More information

CS2 Current Technologies Lecture 3: SQL - Joins and Subqueries

CS2 Current Technologies Lecture 3: SQL - Joins and Subqueries T E H U N I V E R S I T Y O H F R G E D I N B U CS2 Current Technologies Lecture 3: SQL - Joins and Subqueries Chris Walton (cdw@dcs.ed.ac.uk) 11 February 2002 Multiple Tables 1 Redundancy requires excess

More information

Sql Server Syllabus. Overview

Sql Server Syllabus. Overview Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers

More information

Oracle Database 18c. Gentle introduction to Polymorphic Tables Functions with Common patterns and sample use cases

Oracle Database 18c. Gentle introduction to Polymorphic Tables Functions with Common patterns and sample use cases Oracle Database 18c Gentle introduction to Polymorphic Tables Functions with Common patterns and sample use cases About me. Keith Laker Product Manager for Analytic SQL and Autonomous DW Oracle Blog: oracle-big-data.blogspot.com

More information

Migrating? Don't forget the Optimizer.

Migrating? Don't forget the Optimizer. Migrating? Don't forget the Optimizer. What is the most important component of the Oracle database engine? My vote goes to the optimizer. Everything the database does is SQL, and every piece of SQL has

More information

Join Methods. Franck Pachot CERN

Join Methods. Franck Pachot CERN Join Methods Franck Pachot CERN Twitter: @FranckPachot E-mail: contact@pachot.net The session is a full demo. This manuscript shows only the commands used for the demo the explanations will be during the

More information

20461: Querying Microsoft SQL Server 2014 Databases

20461: Querying Microsoft SQL Server 2014 Databases Course Outline 20461: Querying Microsoft SQL Server 2014 Databases Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions,

More information

Course Outline and Objectives: Database Programming with SQL

Course Outline and Objectives: Database Programming with SQL Introduction to Computer Science and Business Course Outline and Objectives: Database Programming with SQL This is the second portion of the Database Design and Programming with SQL course. In this portion,

More information

Introduction to Computer Science and Business

Introduction to Computer Science and Business Introduction to Computer Science and Business This is the second portion of the Database Design and Programming with SQL course. In this portion, students implement their database design by creating a

More information

Oracle Database 11gR2 Optimizer Insights

Oracle Database 11gR2 Optimizer Insights Oracle Database 11gR2 Optimizer Insights Marcus Bender Distinguished Sales Consultant Presales Fellow Strategic Technical Support (STU) ORACLE Deutschland GmbH, Geschäftsstelle Hamburg Parallel Execution

More information

Databases - 4. Other relational operations and DDL. How to write RA expressions for dummies

Databases - 4. Other relational operations and DDL. How to write RA expressions for dummies Databases - 4 Other relational operations and DDL How to write RA expressions for dummies Step 1: Identify the relations required and CP them together Step 2: Add required selections to make the CP Step

More information

Oracle Syllabus Course code-r10605 SQL

Oracle Syllabus Course code-r10605 SQL Oracle Syllabus Course code-r10605 SQL Writing Basic SQL SELECT Statements Basic SELECT Statement Selecting All Columns Selecting Specific Columns Writing SQL Statements Column Heading Defaults Arithmetic

More information

DB2 SQL Tuning Tips for z/os Developers

DB2 SQL Tuning Tips for z/os Developers DB2 SQL Tuning Tips for z/os Developers Tony Andrews IBM Press, Pearson pic Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney

More information

On Building Integrated and Distributed Database Systems

On Building Integrated and Distributed Database Systems On Building Integrated and Distributed Database Systems Distributed Query Processing and Optimization Robert Wrembel Poznań University of Technology Institute of Computing Science Poznań,, Poland Robert.Wrembel@cs.put.poznan.pl

More information

20761 Querying Data with Transact SQL

20761 Querying Data with Transact SQL Course Overview The main purpose of this course is to give students a good understanding of the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration,

More information

Vijay Mahawar

Vijay Mahawar Vijay Mahawar http://www.mahawar.net/blog Saturday, 2 February, 2013 I am Vijay Mahawar, an Oracle Technologist. I am a member of AIOUG, ODTUG and OTN. I am certified in Oracle and hold OCP in Oracle 11g

More information

Aster Data Basics Class Outline

Aster Data Basics Class Outline Aster Data Basics Class Outline CoffingDW education has been customized for every customer for the past 20 years. Our classes can be taught either on site or remotely via the internet. Education Contact:

More information

Optimizer with Oracle Database 12c Release 2 O R A C L E W H I T E P A P E R J U N E

Optimizer with Oracle Database 12c Release 2 O R A C L E W H I T E P A P E R J U N E Optimizer with Oracle Database 12c Release 2 O R A C L E W H I T E P A P E R J U N E 2 0 1 7 Table of Contents Introduction 1 Adaptive Query Optimization 2 Optimizer Statistics 13 Optimizer Statistics

More information

SQL. Dean Williamson, Ph.D. Assistant Vice President Institutional Research, Effectiveness, Analysis & Accreditation Prairie View A&M University

SQL. Dean Williamson, Ph.D. Assistant Vice President Institutional Research, Effectiveness, Analysis & Accreditation Prairie View A&M University SQL Dean Williamson, Ph.D. Assistant Vice President Institutional Research, Effectiveness, Analysis & Accreditation Prairie View A&M University SQL 1965: Maron & Levien propose Relational Data File 1968:

More information

SQL (Structured Query Language)

SQL (Structured Query Language) Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for Oracle DBA 11g SQL (Structured Query Language) Software Installation (Environment Setup for Oracle on Window10)

More information