1 nvision performance tuning david kurtz go-faster consultancy ltd. [email protected]

21
1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go- faster.co.uk www.go- faster.co.uk

Upload: gloria-sheppard

Post on 30-Mar-2015

223 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

1

nVision Performance TuningDavid KurtzGo-Faster Consultancy Ltd.

[email protected]

www.go-faster.co.uk

Page 2: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

2

nVision

• Performance Options

• Match Indexes to Analysis Criteria

• Oracle: choice of optimiser

Page 3: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

3

PS/nVision

• ledger analysis - special processing

• drill down – unroll roll-up reporting

• analysis by attribute– attribute held in a tree

• TREESELECTnn

• generate matrix

Page 4: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

4

nVision ->options

• Show Report SQL– See each SQL before it

is executed

• SQL Trace• Oracle Trace• 3-tier PSQRYSRV

– from PT 7.54, 7.05

Page 5: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

5

Show Report SQL

• Window appears just before the SQL that is contains is executed.

Page 6: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

6

SQL Statement

SELECT L1.TREE_NODE_NUM, A.DEPTID, SUM(A.POSTED_TOTAL_AMT)FROM PS_LEDGER A, PSTREESELECT06 L, PSTREESELECT06 L1WHERE A.LEDGER='ACTUALS'AND A.FISCAL_YEAR=1995AND A.ACCOUNTING_PERIOD BETWEEN 1 AND 12AND A.BUSINESS_UNIT='M04'AND L.SELECTOR_NUM=214AND A.ACCOUNT>= L.RANGE_FROM_06AND A.ACCOUNT <= L.RANGE_TO_06AND ( L.TREE_NODE_NUM BETWEEN 1156779659 AND 1158898302 OR L.TREE_NODE_NUM BETWEEN 1224576269 AND 1288135590)AND L1.SELECTOR_NUM=216AND A.PRODUCT=L1.RANGE_FROM_06AND L1.TREE_NODE_NUM BETWEEN 658854164 AND 2000000000AND A.DEPTID IN ('21200', '21300', '21401', '31000')AND A.CURRENCY_CD=’USD'AND A.STATISTICS_CODE=' 'GROUP BY L1.TREE_NODE_NUM, A.DEPTID

Page 7: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

7

Which trees

SELECT L1.TREE_NODE_NUM, A.DEPTID, SUM(A.POSTED_TOTAL_AMT)FROM PS_LEDGER A, PSTREESELECT06 L, PSTREESELECT06 L1WHERE A.LEDGER='ACTUALS'AND A.FISCAL_YEAR=1995AND A.ACCOUNTING_PERIOD BETWEEN 1 AND 12AND A.BUSINESS_UNIT='M04'AND L.SELECTOR_NUM=214AND A.ACCOUNT>= L.RANGE_FROM_06AND A.ACCOUNT <= L.RANGE_TO_06AND ( L.TREE_NODE_NUM BETWEEN 1156779659 AND 1158898302 OR L.TREE_NODE_NUM BETWEEN 1224576269 AND 1288135590)AND L1.SELECTOR_NUM=216AND A.PRODUCT=L1.RANGE_FROM_06AND L1.TREE_NODE_NUM BETWEEN 658854164 AND 2000000000AND A.DEPTID IN ('21200', '21300', '21401', '31000')AND A.CURRENCY_CD=’USD'AND A.STATISTICS_CODE=' 'GROUP BY L1.TREE_NODE_NUM, A.DEPTID

Page 8: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

8

Which trees

• Use selector numbers from query to identify trees

select * from pstreeselctl where selector_num in(214,216)

SETID TREE_NAME EFFDT VERSION SELECTOR_NUM SELECTOR_ T LENGTH----- ------------------ --------- ---------- ------------ --------- - ----------MFG MFG_PRODUCTS 01-JAN-00 44787 216 03-AUG-99 R 6MFG ACCTROLLUP 01-JAN-00 45057 214 02-AUG-99 R 6

Page 9: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

9

Without performance options

Page 10: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

10

PS_LED G ER

PSTR EESELEC Tnn L1

PSTR EESELEC Tnn LL ite ra lV a lues

With performance options

Page 11: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

11

Security for performance options

Page 12: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

12

nVision Performance Options

Page 13: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

13

Resultant SQL

SELECT L1.TREE_NODE_NUM, A.DEPTID, SUM(A.POSTED_TOTAL_AMT)FROM PS_LEDGER A, PSTREESELECT06 L1WHERE A.LEDGER='ACTUALS'AND A.FISCAL_YEAR=1995AND A.ACCOUNTING_PERIOD BETWEEN 1 AND 12AND A.BUSINESS_UNIT='M04'AND ( A.ACCOUNT='400000' OR A.ACCOUNT BETWEEN '401000' AND '403000' OR A.ACCOUNT='410000' OR A.ACCOUNT='420000' OR A.ACCOUNT='499999')AND L1.SELECTOR_NUM=216AND A.PRODUCT=L1.RANGE_FROM_06AND L1.TREE_NODE_NUM BETWEEN 658854164 AND 2000000000AND A.DEPTID IN ('21200', '21300', '21401', '31000')AND A.CURRENCY_CD='USD'AND A.STATISTICS_CODE=' 'GROUP BY L1.TREE_NODE_NUM, A.DEPTID

Page 14: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

14

Appropriate Index

LEDGER single valueFISCAL_YEAR single valueACCOUNTING_PERIOD range of valuesBUSINESS_UNIT one valueACCOUNT some values/rangesPRODUCT equi-joined to L1DEPTID some valuesCURRENCY_CD one valueSTATISTICS_CODE one value

grouped by L1.TREE_NODE_NUM, DEPTID

Page 15: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

15

Appropriate Index

FISCAL_YEAR single valueDEPTID some valuesLEDGER single valueBUSINESS_UNIT single valuePRODUCT equi-joined to L1ACCOUNT some values/rangesCURRENCY_CD single valueSTATISTICS_CODE single valueACCOUNTING_PERIOD range of values

grouped by L1.TREE_NODE_NUM, DEPTID

Page 16: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

16

Oracle Optimiser Mode

• Queries are flat - no correlated sub-queries

• Rule based optimiser follows the links

• Cost based optimiser, sometimes doesn’t

• GL nVision queries perform well under Cost Base Optimiser

PS _LED G ER

PS T R E ES ELEC Tnn L1

PS T R E ES ELEC Tnn L

Page 17: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

17

If using Oracle Rule Based Optimiser

• Rename PSTREESELECTnn to PSTREESELECTnn_TBL

CREATE VIEW PSTREESELECTnnAS SELECT /*+ALL_ROWS*/ * FROM PSTREESELECTnn_TBL

Page 18: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

18

If using Oracle 8.x

• The Cost Based Optimiser in invoked by– Parallelism– Partitioning

Page 19: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

19

Non-Ledger queries

• Query is defined in PS/Query

Page 20: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

20

nVision

• Performance Options

• Match Indexes to Analysis Criteria

• Oracle: choice of optimiser

• non-GL queries are different

Page 21: 1 nVision Performance Tuning David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

21

nVision Performance TuningDavid KurtzGo-Faster Consultancy Ltd.

[email protected]

www.go-faster.co.uk