|
Foreword |
xxii |
|
Preface |
xxiii |
|
Acknowledgments |
xxv |
Chapter 1 |
Introduction |
1 |
|
Defining Performance |
1 |
|
Trade-offs |
2 |
|
Normalization vs. Performance vs. Flexibility |
2 |
|
Retrieval Speed vs. Update Speed |
2 |
|
Ease of Use vs. High-Volume Transaction Processing |
2 |
|
Storage vs. Cost |
2 |
|
The RDBMS |
3 |
|
Expectations |
3 |
|
Query 1 |
3 |
|
Query 2 |
3 |
|
Query 3 |
4 |
|
Defining and Tracking Down Bottlenecks |
4 |
|
Performance Variables that Might Cause Bottlenecks |
4 |
|
Summary: Tuning Approach |
6 |
Chapter 2 |
Physical Database Design Issues |
9 |
|
Physical Storage Structures |
9 |
|
Page Utilization Percent |
10 |
|
OAM and GAM Pages |
10 |
|
Data Pages |
12 |
|
Estimating Table Size |
13 |
|
When a Table Hasn't Been Loaded Yet |
13 |
|
Estimating Table Size for an Existing Table |
13 |
|
Estimating Performance |
14 |
|
Indexes and B-Tree Structure |
15 |
|
Index Structures |
16 |
|
Index Types (APL) |
17 |
|
Statistics Maintained on the First 255 Bytes of Data |
17 |
|
Index Types (DOL) |
18 |
|
Descending Indexes |
21 |
|
New Rows |
21 |
|
Row Removal |
22 |
|
Implications of Modification |
22 |
|
Setting Fill Factor |
22 |
|
Choosing Indexes |
23 |
|
Summary |
23 |
Chapter 3 |
I/O--The Complete Works |
25 |
|
Introduction to I/O |
25 |
|
Anatomy of a Hard Disk Drive |
26 |
|
Disk CPUs |
26 |
|
Disk Memory |
27 |
|
Host Bus Adapter (HBA) |
27 |
|
Access Theory |
27 |
|
Find Out What Disks You are Using |
28 |
|
UNIX iostat Command Tip |
28 |
|
Disk Arrays |
29 |
|
Memory Caches |
30 |
|
Alternate Paths |
30 |
|
Host to Array Adapter |
31 |
|
Prefetch Algorithm |
31 |
|
Hardware Mirroring |
31 |
|
RAID 5 Optimization |
31 |
|
Striping |
32 |
|
Storage Area Networks |
32 |
|
The SCSI Protocol |
33 |
|
The Fibre Channel Protocol |
36 |
|
Logical Volume Manager |
38 |
|
Advantages of a Logical Volume Manager |
39 |
|
Disadvantages of a Logical Volume Manager |
39 |
|
RAID Standards |
40 |
|
RAID Levels |
40 |
|
Logical Volume Manager Support for RAID Levels |
41 |
|
Moving Functionality from the LVM into the Disk Array |
42 |
|
I/O from Beginning to End |
42 |
|
Synchronous I/O Request |
43 |
|
Asynchronous I/O Request |
43 |
|
Requests |
44 |
|
Benchmarking Your Disk Storage |
46 |
|
The TPC Database Benchmark |
46 |
|
Preparation |
47 |
|
What Are You Going to Test? |
47 |
|
First Benchmark--Single Disk |
48 |
|
Second Benchmark--Multiple Disks |
49 |
|
Results from dd |
49 |
|
Striping for Performance |
50 |
|
Disk Layouts |
50 |
|
Wide Thin Stripes |
51 |
|
Sybase Kernel Scheduling |
51 |
|
Context Switching |
52 |
|
How ASE Kernel Keeps Track of Time |
53 |
|
Timeslice and CPU Grace Time |
53 |
|
Asynchronous Prefetch |
54 |
|
Look-Ahead Sets |
55 |
|
Configuring APF |
56 |
|
APF and Fetch and Discard Cache Strategy |
56 |
|
Monitoring APF Using sp_sysmon |
56 |
|
APF Tips |
58 |
|
Logical Page Sizes |
58 |
|
Varying the Page Size |
59 |
|
Space Allocation |
59 |
|
What to Look Out for When Using Larger Page Sizes |
60 |
|
Tasks That Benefit from Large Page Sizes |
60 |
|
Benchmarking Sybase ASE |
61 |
|
Application Benchmark |
61 |
|
DBA Maintenance Benchmark |
62 |
|
Understanding I/O Statistics in sp_sysmon |
63 |
|
Kernel Utilization |
63 |
|
Task Management |
64 |
|
Cache Statistics |
66 |
|
Disk I/O Management |
68 |
|
Device Activity Detail |
69 |
Chapter 4 |
Indexes |
71 |
|
Why Use Indexes? |
71 |
|
Index Usage Criteria |
72 |
|
Indexes and Performance |
72 |
|
Determining Index Usefulness |
73 |
|
Data Distribution |
73 |
|
Index Statistics |
74 |
|
Updating Statistics 11.9 and Higher |
74 |
|
Column Statistics |
76 |
|
When to Use Additional Statistics |
77 |
|
Adding Statistics for a Column |
77 |
|
Adding Statistics for Minor Columns |
78 |
|
Choosing Step Numbers for Histograms |
78 |
|
Using the delete statistics Command |
79 |
|
When Row Counts May be Inaccurate |
79 |
|
Composite Indexes |
80 |
|
Composite vs. Many Indexes |
80 |
|
Clustered Indexes |
81 |
|
Non-Clustered Indexes |
82 |
|
A Comparison between Clustered and Non-Clustered |
82 |
|
Clustered Index I/O Cost |
83 |
|
Non-Clustered Index I/O Cost |
83 |
|
Table Scan I/O Cost Comparison |
84 |
|
Index Covering |
85 |
|
Indexing for Multiple Queries |
85 |
|
Indexing for OR Clauses |
86 |
|
Special OR Strategy (Multiple Matching Index Scans) |
87 |
|
Summary |
87 |
Chapter 5 |
The Optimizer Statistics |
89 |
|
What are the Statistics? |
89 |
|
optdiag |
89 |
|
Types of Statistics |
90 |
|
Table/Index Level Statistics |
90 |
|
Column Level Statistics |
95 |
|
Understanding update statistics |
103 |
|
Adding, Modifying, and Deleting Column Level Statistics |
105 |
|
Why Add, Modify, or Delete Statistics? |
105 |
|
Adding Column Level Statistics |
105 |
|
Modifying Column Level Statistics |
109 |
|
Deleting Column Level Statistics |
110 |
|
A Word on Statistics and Upgrading |
110 |
|
Maintaining Added and/or Modified Column Level Statistics |
111 |
|
optdiag's Simulate Mode |
112 |
|
What Can Be Simulated? |
113 |
|
Simulating Values That Are Not Stored in the System Tables |
113 |
|
Simulating Column Level Statistics |
114 |
|
optdiag simulate in "What-If" Analysis |
115 |
|
Preparing the Simulation |
115 |
|
Testing Queries Against Simulated Statistics |
115 |
|
Verifying That Simulated Statistics Were Used |
116 |
|
Removing Simulated Statistics |
116 |
|
Returning to the Original Column Level Statistics |
117 |
Chapter 6 |
ASE's Optimizer |
119 |
|
What is the Optimizer? |
119 |
|
Why Learn about It? |
120 |
|
What's the Optimizer's Place in Query Processing? |
120 |
|
The Phases of Optimization |
121 |
|
The Prep Phase (Index Selection) |
121 |
|
The Search Engine Phase |
128 |
Chapter 7 |
Cache Strategies |
131 |
|
Sybase Memory Management |
131 |
|
Memory Allocation |
132 |
|
Where Does All the Memory Go? |
133 |
|
Memory Management Changes in Adaptive Server 12.5 |
134 |
|
Memory and Performance |
137 |
|
Procedure Cache |
138 |
|
Getting Information about the Procedure Cache Size |
139 |
|
Procedure Cache Sizing |
140 |
|
Data Cache |
140 |
|
Workload Mix |
140 |
|
Named Cache |
141 |
|
The MRU/LRU Chain |
142 |
|
Cleaning Buffers |
142 |
|
Cache Strategy |
143 |
|
Choosing the Cache Strategy |
144 |
|
Large I/O and Cache Strategies |
145 |
|
Tuning Named Caches |
146 |
|
Strategy for OLTP Type Transactions |
147 |
|
Strategy for DSS Type Transactions |
148 |
|
Relaxed Strategy |
149 |
|
Performance with Large I/O |
150 |
|
Cache Configuration Considerations |
151 |
Chapter 8 |
Parallel Query Processing |
153 |
|
Introduction |
153 |
|
Why Use Parallel Queries? |
153 |
|
Parallel Processing Model |
154 |
|
How Parallel Queries Access Objects |
156 |
|
Hash Table Scan |
156 |
|
Hash Non-Clustered Index Scan |
157 |
|
Hash Clustered Index Scan |
157 |
|
Partition Scan |
157 |
|
Partition Clustered Index Scan |
157 |
|
Configuring ASE for Parallel Queries |
158 |
|
Controlling the Number of Parallel Queries |
159 |
|
How Should I Implement Parallel Queries? |
159 |
|
Parallel Query Tests--Single Queries |
160 |
|
Parallel Query Tests--Multiple Queries |
161 |
|
Balancing Throughput |
162 |
|
Insufficient Worker Processes |
163 |
|
Parallel Sorting |
164 |
|
Configuring the Number of Producers |
165 |
|
Configuring the Number of Consumers |
165 |
|
Sort Buffers |
165 |
|
Configuring ASE for Optimal Performance |
166 |
|
set sort_resources Command |
166 |
|
Expected Performance |
166 |
|
Monitoring Parallel Queries |
167 |
|
showplan |
167 |
|
Trace Flags |
168 |
|
sp_sysmon |
169 |
Chapter 9 |
Application Design |
173 |
|
Client Design |
173 |
|
Resource Contention |
174 |
|
Memory and Cache |
176 |
|
tempdb |
177 |
|
Application Maintenance |
178 |
|
Indexes |
178 |
|
Partitioning and Parallelism |
179 |
|
Deadlocks |
180 |
|
Isolation Levels |
181 |
|
Cursors |
182 |
|
Transaction Length |
183 |
|
Data Validation |
183 |
|
Data Processing |
184 |
|
Normalization and Denormalization |
185 |
|
HTML and XML |
186 |
|
Application Design Process |
187 |
Chapter 10 |
T-SQL Programming |
189 |
|
Introduction |
189 |
|
Procedures vs. Inline Code |
189 |
|
Procedure Return Codes and Error Handling |
195 |
|
Triggers |
197 |
|
Characteristic Functions |
200 |
|
Subqueries |
203
Login
| Complaints
| Blog
| Games
| Digital Media
| Souls
| Obituary
| Contact Us
| FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!!
You must be logged in to add to Wishlist
This item is in your Wish List
This item is in your Collection
This Item is in Your
Inventory
You must be logged in to review the products
Add
Sybase ASE 12.5 Performance and Tuning (With CD-ROM), Once your database system is up and running, you need to keep it functioning smoothly. Designed for the DBA working to maximize the performance of a Sybase server, Sybase ASE 12.5 Performance and Tuning provides a guide to this important process. From ben, Sybase ASE 12.5 Performance and Tuning (With CD-ROM) to the inventory that you are selling on WonderClub
Add
Sybase ASE 12.5 Performance and Tuning (With CD-ROM), Once your database system is up and running, you need to keep it functioning smoothly. Designed for the DBA working to maximize the performance of a Sybase server, Sybase ASE 12.5 Performance and Tuning provides a guide to this important process. From ben, Sybase ASE 12.5 Performance and Tuning (With CD-ROM) to your collection on WonderClub
| |