I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... ·...
Transcript of I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... ·...
![Page 1: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/1.jpg)
Bonnie K. Baker
Bonnie Baker Corporation
1-813-477-4885
www.bonniebaker.com
I Didn't Know DB2 Did THAT!
V9 & V10 Update CENTRAL CANADA DB2 USER GROUP
![Page 2: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/2.jpg)
INTERNAL MYSTERIES SOLVED
2
![Page 3: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/3.jpg)
Internal Mysteries Solved DB2
PROGRAM PREPARATION
LATCHES & LATCH SUSPENSIONS X 3
EDMPOOL - 1
BUFFERPOOLS - 2
CLAIMS & DRAINS
GETPAGE VS. READ IO
DATA MANAGER vs. RDS
ORDER OF PREDICATE APPLICATION
DBD CHAINS
SIX LOCKS
RELEASE BIND PARAMETER
RANDOM INDEXES & SORT AVOIDANCE
AVOIDING YOUR OWN NEWLY INSERTED ROWS
3
![Page 4: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/4.jpg)
4
SELECT . . . INTO . . . . . .
Host Variables
SQLCA
MSTR DBM1 IRLM
LOG
LOCK?
EDMPOOL
PLAN PKG
SORTPOOL
RDS DATA MGR
GETPAGE
BUFFER MGR
LATCH?
WORKING STORAGE
DBDs DSC
RIDPOOL
BUFFERPOOL
?
Program
Execution SSAS DBAS LMAS
Directory Catalog Workspace
Tables Indexes
DSNDB01 DSNDB06 DSNDB07
![Page 5: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/5.jpg)
5
PROGRAM PREPARATION PROCESS
SOURCE CODE INCLUDE
LIBRARY
MODIFIED
SOURCE CODE SQL IN DBRM
in LIBRARY
LOAD MODULE
IN LOADLIB
DIRECTORY
PACKAGE
CATALOG
DBRM
PRECOMPILE
COMPILE
LINK
BIND PACKAGE
REBIND PACKAGE
![Page 6: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/6.jpg)
Internal Mysteries Solved
LATCHES ON
EDMPOOL MRU/LRU CHAIN
BUFFERPOOL MRU/LRU CHAIN
BUFFERPOOL INDEX PAGES
BUFFERPOOL TABLE PAGES
6
![Page 7: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/7.jpg)
Internal Mysteries Solved
EDMPOOL
PLANS
PACKAGES
PACKAGE SEGMENTS: BASE +
SPACE MANAGEMENT TECHNIQUE
MRU/LRU CHAIN
NON-STEALABLE STEALABLE (MRU/LRU) FREE
BASE
PKGA BASE
PKG3
BOB’S SUE’S PKGA JOE’S
SEG7 SEG7 SEG7 SEG7
7
![Page 8: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/8.jpg)
Internal Mysteries Solved
BUFFERPOOL
MRU/LRU CHAIN
BUT - TWO SPACE MANAGEMENT TECHNIQUES
MRU/LRU WITH LATCHES
PGSTEAL (FIFO) WITHOUT LATCHES?
NON-STEALABLE STEALABLE FREE
WHEN IS FIFO APPROPRIATE?
8
![Page 9: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/9.jpg)
Internal Mysteries Solved
BUFFERPOOL
INDEX PAGE & TABLE PAGE LATCHES
S OR X
WHY LATCH?
WITH UR? OK TO READ DURING UPDATE?
WITH CS?
ENSURES STABLE (NOT CLEAN) DATA
ALLOWS READ OF PAGES WITH X LOCKS
DURATION? Acquired? Released?
9
![Page 10: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/10.jpg)
Internal Mysteries Solved
BUFFERPOOL MANAGER ALSO
WORKS WITH VSAM FOR READ IO
ALSO
HANDLES CLAIMS & DRAINS
CLAIM COUNTERS FOR SQL
READ COUNTER
WRITE COUNTER
DRAIN NEGOTIATION BY UTILITIES
10
![Page 11: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/11.jpg)
Internal Mysteries Solved
DATA MANAGER
GETPAGE requests
MRU/LRU Latch included in cost
Page addressing
BP is addressable working storage
Update Before & After comparisons
New V10 relief with Indicators
Accesses DBD for “cheat sheet” information
What is a DBD?
11
![Page 12: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/12.jpg)
Internal Mysteries Solved
DATA MANAGER - continued
Stage 1 Predicates
Applied by the Data Manager
Indexable (Matching & Screening)
Not Indexable
RDS
Stage 2 Predicates
Done by RDS, not Data Manager
Indexable (V10 Screening)
Not Indexable
12
![Page 13: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/13.jpg)
13
ORDER OF PREDICATE APPLICATION V9 & PRIOR
1. STAGE 1 INDEX-MATCHING PREDICATES
2. STAGE 1 INDEX-SCREENING PREDICATES
3. STAGE 1 OTHER PREDICATES APPLIED TO TABLE EQUAL PREDICATES
RANGE PREDICATES,
IS NULL, IS NOT NULL
IN, LIKE PREDICATES
EACH GROUP IN ORDER CODED
4. STAGE 2 PREDICATES APPLIED TO TABLE
ASSUME AN INDEX ON LASTNAME, FIRSTNAME, MIDDLE_INIT, EMPID, MGRID
WHERE
7 SAL + COM > 50000.00
2 AND FIRSTNAME = ‘ELIZABETH’
3 AND MIDDLE_INIT = ‘K’
1 AND LASTNAME = ‘BAKER’
4 AND HAIR_COLOR = ‘BROWN’
6 AND SALARY > = 50000.00
5 AND EYE_COLOR = ‘BLUE’
8 AND EMPID || MGRID = :HV1 || :HV2
applied in the order of the index columns
![Page 14: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/14.jpg)
14
ORDER OF PREDICATE EVALUATION IN V10 STAGE 1 INDEX-MATCHING PREDICATES
STAGE 1 INDEX-SCREENING PREDICATES
STAGE 2 INDEX-SCREENING PREDICATES
STAGE 1 OTHER PREDICATES APPLIED TO TABLE EQUAL PREDICATES
RANGE PREDICATES,
IS NULL, IS NOT NULL
IN, LIKE PREDICATES
EACH GROUP IN ORDER CODED
STAGE 2 PREDICATES APPLIED TO TABLE
ASSUME AN INDEX ON LASTNAME, FIRSTNAME, MIDDLE_INIT, EMPID, MGRID
WHERE
8 SAL + COM > 50000.00
2 AND FIRSTNAME = ‘ELIZABETH’
3 AND MIDDLE_INIT = ‘K’
1 AND LASTNAME = ‘BAKER’
5 AND HAIR_COLOR = ‘BROWN’
7 AND SALARY > = 50000.00
6 AND EYE_COLOR = ‘BLUE’
4 AND EMPID || MGRID = :HV1 || :HV2
applied in the order of the index columns
![Page 15: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/15.jpg)
Internal Mysteries Solved
DATA MANAGER - continued
LOCK REQUESTS
CROSS-MEMORY SERVICES CALLS TO IRLM
CALLS AT ACQUISITION & RELEASE)
RELEASE WHEN?
IS OR IX?
IS OR IX?
S? S? S? S?
U? U? U? U?
X? X? X? X?
15
![Page 16: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/16.jpg)
Internal Mysteries Solved
DATA MANAGER - continued
DB2 RI ENFORCEMENT
CHOOSES ACCESS PATHS AT RUNTIME
USES DBD INFORMATION
DECLARED TEMP TABLE ACCESS
GATHERS STATISTICS
DETERMINES ACCESS PATHS AT RUNTIME
16
![Page 17: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/17.jpg)
Optimizer Magic Explained
SIX LOCKs
Huge maintenance program
Only program allowed to do maintenance
Others can read WITH UR or
IS on TSP
IS on TBL
S (or no lock) on PAGE
17
![Page 18: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/18.jpg)
Optimizer Magic Explained
SIX LOCKs continued
MAINTENANCE PROGRAM:
LOCK TABLE T1 in SHARE MODE
1st read gets IS on TSP + S on TBL
1st UPDATE
gets X on page
upgrades S on TBL to SIX
upgrades IS on TSP to IX
18
![Page 19: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/19.jpg)
19
![Page 20: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/20.jpg)
20
Program Logic Fun
TABLESPACE, PARTITION, & TABLE LOCKS
+ Release COMMIT/DEALLOCATE
What happens at COMMIT ?
IF LOCK TABLE STATEMENT?
+
If RELEASE(COMMIT)?
If RELEASE(DEALLOCATE)?
New with Java in V10
RELEASE DEALLOCATE
20
![Page 21: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/21.jpg)
SQL Tricks Shared
GROUP BY + ORDER BY? Both needed?
If on different columns? Of course
But what if same columns?
GROUP BY WKDEPT
ORDER BY WKDEPT
Multiple indexes on same columns?
With different asc/desc options
Impact of New RANDOM Index option
21
![Page 22: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/22.jpg)
Program Logic Fun
Avoiding your own newly Inserted rows
Force Sort?
Declared/Created Temp Table?
Sensitive Static Scroll Cursor?
Insensitive Static Scroll Cursor?
Better Solution?
Disqualify your new rows in your cursor WHERE clause
22
![Page 23: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/23.jpg)
SUMMARY
Internal Mysteries Solved
Optimizer Magic Explained
SQL Tricks/Oddities Shared
Program Logic Fun
23
![Page 24: I Didn't Know DB2 Did THAT! V9 & V10 Updatehome.ca.inter.net/~ccdb2/Downloads/BonnieBaker-I... · 1. stage 1 index-matching predicates 2. stage 1 index-screening predicates 3. stage](https://reader036.fdocuments.in/reader036/viewer/2022062920/5f01f4fa7e708231d401de10/html5/thumbnails/24.jpg)
Bonnie K. Baker Bonnie Baker Corporation
1-813-477-4885
[email protected] http://www.bonniebaker.com
THANK YOU