HOME
SEARCH
BLOG
SCRIPTS
CONTACT
SEARCH
SEARCH
Disclaimer:
Authors have full rights over their works. Reproduction of any part of the content is prohibited without prior authorization.
×
BOOK COST-BASED ORACLE FUNDAMENTALS
DOWNLOAD
SUMMARY
Items Found:
474
CHAPTER 1 What Do You Mean by Cost?
Optimizer Options
So What Is the Cost?
Transformation and Costing
WYSIWYG?
Test Cases
CHAPTER 2 Tablescans
Getting Started
Onwards and Upwards
Effects of Block Sizes
CPU Costing
The Power of CPU Costing
The BCHR Is Dead! Long Live the BCHR!
Parallel Execution
Index Fast Full Scan
Partitioning
Test Cases
CHAPTER 3 Single Table Selectivity
Getting Started
Null Values
Using Lists
10g Update
Range Predicates
10g Update
Two Predicates
Problems with Multiple Predicates
Test Cases
CHAPTER 4 Simple B-tree Access
Basics of Index Costing
Getting Started
Effective Index Selectivity
Effective Table Selectivity
clustering_factor
Putting It Together
Extending the Algorithm
The Three Selectivities
CPU Costing
Loose Ends
Test Cases
CHAPTER 5 The Clustering Factor
Baseline Example
Reducing Table Contention (Multiple Freelists)
Reducing Leaf Block Contention (Reverse Key Indexes)
Reducing Table Contention (ASSM)
Reducing Contention in RAC (Freelist Groups)
Column Order
Extra Columns
Correcting the Statistics
The sys_op_countchg() Technique
Informal Strategies
Loose Ends
Test Cases
CHAPTER 6 Selectivity Issues
Different Data Types
Date Values
Character Values
Daft Data Types
Leading Zeros
Deadly Defaults
Discrete Dangers
10g Update
Surprising sysdate
Function Figures
Correlated Columns
Dynamic Sampling
Optimizer Profiles
Transitive Closure
Constraint-Generated Predicates
Test Cases
CHAPTER 7 Histograms
Getting Started
Generic Histograms
Histograms and Bind Variables
When Oracle Ignores Histograms
Frequency Histograms
Faking Frequency Histograms
Warning to Fakers
“Height Balanced” Histograms
The Arithmetic
Data Problems Revisited
Daft Datatypes
Dangerous Defaults
Test Cases
CHAPTER 8 Bitmap Indexes
Getting Started
The Index Component
The Table Component
Bitmap Combinations
Low Cardinality
Null Columns
CPU Costing
Interesting Cases
Multicolumn Indexes
Bitmap Join Indexes
Bitmap Transformations
Test Cases
CHAPTER 9 Query Transformation
Getting Started
Evolution
Filtering
Filter Optimization
Scalar Subqueries
Subquery Factoring
Complex View Merging
Pushing Predicates
General Subqueries
Subquery Parameters
Categorization
Semi-Joins
Anti-Joins
Anti-join Anomaly
Nulls and Not In
The ordered Hint
Star Transformation Joins
Star Joins
The Future
Test Cases
CHAPTER 10 Join Cardinality
Basic Join Cardinality
Biased Joins
Join Cardinality for Real SQL
Extensions and Anomalies
Joins by Range
Not Equal
Overlaps
Histograms
Transitive Closure
Three Tables
Nulls
Implementation Issues
Difficult Bits!
Features
An Alternative Viewpoint
Test Cases
CHAPTER 11 Nested Loops
Basic Mechanism
Worked Example
Sanity Checks
Test Cases
CHAPTER 12 Hash Joins
Getting Started
The Optimal Hash Join
The Onepass Hash Join
The Multipass Hash Join
Trace Files
Event 10104
Event 10053
Headaches
Traditional Costing
Modern Costing
Comparisons
Multitable Joins
Test Cases
CHAPTER 13 Sorting and Merge Joins
Getting Started
Memory Usage
CPU Usage
sort_area_retained_size
pga_aggregate_target
Real I/O
Cost of Sorts
10053 trace
Comparisons
Merge Joins
The Merge Mechanism
A Merge Join Without the First Sort
The Cartesian Merge Join
Aggregates and Others
Indexes
Set Operations
Final Warning
Test Cases
CHAPTER 14 The 10053 Trace File
The Query
The Execution Plan
The Environment
The Trace File
Parameter Settings
Query Blocks
Stored Statistics
Single Tables
Sanity Checks
General Plans
Join order[1]
Join order[2]
Join order[3]
Join order[4]
Join order[5]
Join order[6]
Join order[7]
Join order[8]
Join order[9]
Join order[10]
Join order[11]
Join order[12]
Join order[13]
Join order[14]
Join order[15]
Join order[16]
Join order[17]
Join order[18]
Join Evaluation
Test Cases
APPENDIX A Upgrade Headaches
dbms_stats
Frequency Histograms
CPU Costing
Rounding Errors
Bind Variable Peeking
Nulls Across Joins
B-tree to Bitmap Conversions
Index Skip-Scans
AND-Equal
Index Hash Join
In-List Fixed
Transitive Closure
sysdate Arithmetic Fixed
Indexing Nulls
pga_aggregate_target
Sorting
Grouping
Sanity Checks
Going Outside the Limits
Type Hacking
optimizer_mode
Descending Indexes
Complex View Merging
Unnest Subquery
Scalar and Filter Subqueries
Parallel Query Changes x 2
Dynamic Sampling
Temporary Tables
Dictionary Stats
APPENDIX B Optimizer Parameters
optimizer_features_enable
The 10053 Trace File
v$sql_optimizer_env
CHAPTER 1 What Do You Mean by Cost?
Optimizer Options
So What Is the Cost?
Transformation and Costing
WYSIWYG?
Test Cases
CHAPTER 2 Tablescans
Getting Started
Onwards and Upwards
Effects of Block Sizes
CPU Costing
The Power of CPU Costing
The BCHR Is Dead! Long Live the BCHR!
Parallel Execution
Index Fast Full Scan
Partitioning
Test Cases
CHAPTER 3 Single Table Selectivity
Getting Started
Null Values
Using Lists
10g Update
Range Predicates
10g Update
Two Predicates
Problems with Multiple Predicates
Test Cases
CHAPTER 4 Simple B-tree Access
Basics of Index Costing
Getting Started
Effective Index Selectivity
Effective Table Selectivity
clustering_factor
Putting It Together
Extending the Algorithm
The Three Selectivities
CPU Costing
Loose Ends
Test Cases
CHAPTER 5 The Clustering Factor
Baseline Example
Reducing Table Contention (Multiple Freelists)
Reducing Leaf Block Contention (Reverse Key Indexes)
Reducing Table Contention (ASSM)
Reducing Contention in RAC (Freelist Groups)
Column Order
Extra Columns
Correcting the Statistics
The sys_op_countchg() Technique
Informal Strategies
Loose Ends
Test Cases
CHAPTER 6 Selectivity Issues
Different Data Types
Date Values
Character Values
Daft Data Types
Leading Zeros
Deadly Defaults
Discrete Dangers
10g Update
Surprising sysdate
Function Figures
Correlated Columns
Dynamic Sampling
Optimizer Profiles
Transitive Closure
Constraint-Generated Predicates
Test Cases
CHAPTER 7 Histograms
Getting Started
Generic Histograms
Histograms and Bind Variables
When Oracle Ignores Histograms
Frequency Histograms
Faking Frequency Histograms
Warning to Fakers
“Height Balanced” Histograms
The Arithmetic
Data Problems Revisited
Daft Datatypes
Dangerous Defaults
Test Cases
CHAPTER 8 Bitmap Indexes
Getting Started
The Index Component
The Table Component
Bitmap Combinations
Low Cardinality
Null Columns
CPU Costing
Interesting Cases
Multicolumn Indexes
Bitmap Join Indexes
Bitmap Transformations
Test Cases
CHAPTER 9 Query Transformation
Getting Started
Evolution
Filtering
Filter Optimization
Scalar Subqueries
Subquery Factoring
Complex View Merging
Pushing Predicates
General Subqueries
Subquery Parameters
Categorization
Semi-Joins
Anti-Joins
Anti-join Anomaly
Nulls and Not In
The ordered Hint
Star Transformation Joins
Star Joins
The Future
Test Cases
CHAPTER 10 Join Cardinality
Basic Join Cardinality
Biased Joins
Join Cardinality for Real SQL
Extensions and Anomalies
Joins by Range
Not Equal
Overlaps
Histograms
Transitive Closure
Three Tables
Nulls
Implementation Issues
Difficult Bits!
Features
An Alternative Viewpoint
Test Cases
CHAPTER 11 Nested Loops
Basic Mechanism
Worked Example
Sanity Checks
Test Cases
CHAPTER 12 Hash Joins
Getting Started
The Optimal Hash Join
The Onepass Hash Join
The Multipass Hash Join
Trace Files
Event 10104
Event 10053
Headaches
Traditional Costing
Modern Costing
Comparisons
Multitable Joins
Test Cases
CHAPTER 13 Sorting and Merge Joins
Getting Started
Memory Usage
CPU Usage
sort_area_retained_size
pga_aggregate_target
Real I/O
Cost of Sorts
10053 trace
Comparisons
Merge Joins
The Merge Mechanism
A Merge Join Without the First Sort
The Cartesian Merge Join
Aggregates and Others
Indexes
Set Operations
Final Warning
Test Cases
CHAPTER 14 The 10053 Trace File
The Query
The Execution Plan
The Environment
The Trace File
Parameter Settings
Query Blocks
Stored Statistics
Single Tables
Sanity Checks
General Plans
Join order[1]
Join order[2]
Join order[3]
Join order[4]
Join order[5]
Join order[6]
Join order[7]
Join order[8]
Join order[9]
Join order[10]
Join order[11]
Join order[12]
Join order[13]
Join order[14]
Join order[15]
Join order[16]
Join order[17]
Join order[18]
Join Evaluation
Test Cases
APPENDIX A Upgrade Headaches
dbms_stats
Frequency Histograms
CPU Costing
Rounding Errors
Bind Variable Peeking
Nulls Across Joins
B-tree to Bitmap Conversions
Index Skip-Scans
AND-Equal
Index Hash Join
In-List Fixed
Transitive Closure
sysdate Arithmetic Fixed
Indexing Nulls
pga_aggregate_target
Sorting
Grouping
Sanity Checks
Going Outside the Limits
Type Hacking
optimizer_mode
Descending Indexes
Complex View Merging
Unnest Subquery
Scalar and Filter Subqueries
Parallel Query Changes x 2
Dynamic Sampling
Temporary Tables
Dictionary Stats
APPENDIX B Optimizer Parameters
optimizer_features_enable
The 10053 Trace File
v$sql_optimizer_env