Muutke küpsiste eelistusi

Sybase ASE 12.5 Performance and Tuning: The Official Guide [Pehme köide]

  • Formaat: Paperback / softback, 413 pages, kõrgus x laius: 235x190 mm, kaal: 999 g, b/w illus
  • Ilmumisaeg: 16-Aug-2002
  • Kirjastus: Wordware Publishing Inc.
  • ISBN-10: 1556229089
  • ISBN-13: 9781556229084
Teised raamatud teemal:
  • Pehme köide
  • Hind: 101,79 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 413 pages, kõrgus x laius: 235x190 mm, kaal: 999 g, b/w illus
  • Ilmumisaeg: 16-Aug-2002
  • Kirjastus: Wordware Publishing Inc.
  • ISBN-10: 1556229089
  • ISBN-13: 9781556229084
Teised raamatud teemal:
Designed for the administrator working to maximize the performance of a Sybase Server, this book walks readers through tuning their system from setting the right expectation to TSQL coding techniques.
Foreword xxii
Preface xxiii
Acknowledgments xxv
Introduction
1(8)
Defining Performance
1(1)
Trade-offs
2(1)
Normalization vs. Performance vs. Flexibility
2(1)
Retrieval Speed vs. Update Speed
2(1)
Ease of Use vs. High Volume Transaction Processing
2(1)
Storage vs. Cost
2(1)
The RDBMS
3(1)
Expectations
3(1)
Query 1
3(1)
Query 2
3(1)
Query 3
4(1)
Defining and Tracking Down Bottlenecks
4(2)
Performance Variables that Might Cause Bottlenecks
4(2)
Summary: Tuning Approach
6(3)
Physical Database Design Issues
9(16)
Physical Storage Structures
9(1)
Page Utilization Percent
10(1)
OAM and GAM Pages
10(2)
Data Pages
12(1)
Estimating Table Size
13(2)
When a Table Hasn't Been Loaded Yet
13(1)
Estimating Table Size for an Existing Table
13(1)
Estimating Performance
14(1)
Table Scan Time
14(1)
Table Scan Performance
15(1)
Indexes and B-Tree Structure
15(8)
Index Structures
16(1)
Index Structures Notes
17(1)
Index Types (APL)
17(1)
Statistics Maintained on the First 255 Bytes of Data
17(1)
Index Types (DOL)
18(1)
Clustered Indexes
18(1)
Non-Clustered Indexes
19(2)
Descending Indexes
21(1)
New Rows
21(1)
Row Removal
22(1)
Implications of Modification
22(1)
Setting Fill Factor
22(1)
Choosing Indexes
23(1)
Summary
23(2)
I/O The Complete Works
25(46)
Introduction to I/O
25(1)
Anatomy of a Hard Disk Drive
26(3)
Disk CPUs
26(1)
Disk Memory
27(1)
Host Bus Adapter (HBA)
27(1)
Access Theory
27(1)
Find Out What Disks You are Using
28(1)
Unix iostat Command Tip
28(1)
Disk Arrays
29(3)
Memory Caches
30(1)
Alternate Paths
30(1)
Host to Array Adapter
31(1)
Prefetch Algorithm
31(1)
Hardware Mirroring
31(1)
Raid 5 Optimization
31(1)
Striping
32(1)
Storage Area Networks
32(6)
The SCSI Protocol
33(1)
Introduction to SCSI
34(1)
Initiators and Targets
35(1)
SCSI IDs and Logical Unit Numbers
35(1)
Speeds
35(1)
The Fibre Channel Protocol
36(1)
Introduction to Fibre Channel
36(1)
Fibre Channel Hierarchy
37(1)
Types of Fibre Channel Networks
37(1)
Host Connections
38(1)
Logical Volume Manager
38(2)
Advantages of a Logical Volume Manager
39(1)
Disadvantages of a Logical Volume Manager
39(1)
RAID Standards
40(2)
RAID Levels
40(1)
Logical Volume Manager Support for RAID Levels
41(1)
RAID 0
41(1)
RAID 1
41(1)
RAID 0-1
41(1)
RAID 5
41(1)
Moving Functionality from the LVM into the Disk Array
42(1)
I/O from Beginning to End
42(4)
Synchronous I/O Request
43(1)
Asynchronous I/O Request
43(1)
Requests
44(1)
Read Request
44(2)
Write Request
46(1)
Benchmarking Your Disk Storage
46(4)
The TPC Database Benchmark
46(1)
Preparation
47(1)
What Are You Going to Test?
47(1)
Single Disk
47(1)
Multiple Disks
48(1)
First Benchmark - Single Disk
48(1)
Write Test
48(1)
Read Test
49(1)
Second Benchmark - Multiple Disks
49(1)
Results from dd
49(1)
Striping for Performance
50(1)
Disk Layouts
50(1)
Wide Thin Stripes
51(1)
Sybase Kernel Scheduling
51(3)
Context Switching
52(1)
How ASE Kernel Keeps Track of Time
53(1)
Timeslice and CPU Grace Time
53(1)
Asynchronous Prefetch
54(4)
Look-Ahead Sets
55(1)
Configuring APF
56(1)
APF and Fetch and Discard Cache Strategy
56(1)
Monitoring APF Using sp_sysmon
56(2)
APF Tips
58(1)
Logical Page Sizes
58(3)
Varying the Page Size
59(1)
Space Allocation
59(1)
What to Look Out for When Using Larger Page Sizes
60(1)
Tasks That Benefit from Large Page Sizes
60(1)
Large Page Sizes and Locking Issues
60(1)
Benchmarking Sybase ASE
61(2)
Application Benchmark
61(1)
DBA Maintenance Benchmark
62(1)
Understanding I/O Statistics in sp_sysmon
63(8)
Kernel Utilization
63(1)
Kernel Utilization Tips
64(1)
Task Management
64(2)
Task Management Tips
66(1)
Cache Statistics
66(2)
Cache Statistics Tips
68(1)
Disk I/O Management
68(1)
Disk I/O Management Tips
69(1)
Device Activity Detail
69(1)
Device Activity Detail Tips
70(1)
Indexes
71(18)
Why Use Indexes?
71(1)
Index Usage Criteria
72(1)
Indexes and Performance
72(1)
Determining Index Usefulness
73(1)
Data Distribution
73(1)
Index Statistics
74(6)
Updating Statistics 19 and Higher
74(2)
Column Statistics
76(1)
Create/Update Column Statistics
76(1)
When to Use Additional Statistics
77(1)
Adding Statistics for a Column
77(1)
Adding Statistics for Minor Columns
78(1)
Choosing Step Numbers for Histograms
78(1)
Using the delete statistics Command
79(1)
When Row Counts May be Inaccurate
79(1)
Composite Indexes
80(1)
Composite vs. Many Indexes
80(1)
Clustered Indexes
81(1)
Non-Clustered Indexes
82(1)
A Comparison between Clustered and Non-Clustered
82(3)
Clustered Index I/O Cost
83(1)
Non-Clustered Index I/O Cost
83(1)
Table Scan I/O Cost Comparison
84(1)
Index Covering
85(1)
Indexing for Multiple Queries
85(1)
Indexing for OR Clauses
86(1)
Special OR Strategy [ Multiple Matching Index Scans)
87(1)
Summary
87(2)
The Optimizer Statistics
89(30)
What are the Statistics?
89(1)
optdiag
89(1)
Types of Statistics
90(13)
Table/Index Level Statistics
90(2)
The Cluster Ratios
92(2)
The CM Counts
94(1)
How Can I Read the Cluster Ratios without Going to optdiag?
94(1)
Column Level Statistics
95(1)
The Density Values
96(2)
The Histogram
98(3)
Multi-Column Density Values
101(2)
No Statistics List
103(1)
Understanding update statistics
103(2)
Adding, Modifying, and Deleting Column Level Statistics
105(7)
Why Add, Modify, or Delete Statistics?
105(1)
Adding Column Level Statistics
105(2)
Changing the Number of Requested Steps
107(2)
Modifying Column Level Statistics
109(1)
Modifying the Total Density Value
109(1)
Deleting Column Level Statistics
110(1)
A Word on Statistics and Upgrading
110(1)
Maintaining Added and/or Modified Column Level Statistics
111(1)
optdiag's Simulate Mode
112(3)
What Can Be Simulated?
113(1)
Simulating Values That Are Not Stored in the System Tables
113(1)
Caches
113(1)
Max Parallel Degree and Max Scan Degree
114(1)
Partitions
114(1)
Simulating Column Level Statistics
114(1)
optdiag simulate in ``What-If'' Analysis
115(4)
Preparing the Simulation
115(1)
Empty vs. Populated Datasets
115(1)
Query Outputs from an Existing Dataset
115(1)
Testing Queries Against Simulated Statistics
115(1)
Verifying That Simulated Statistics Were Used
116(1)
Removing Simulated Statistics
116(1)
Returning to the Original Column Level Statistics
117(2)
ASE's Optimizer
119(12)
What is the Optimizer?
119(2)
Why Learn about It?
120(1)
What's the Optimizer's Place in Query Processing?
120(1)
The Phases of Optimization
121(10)
The Prep Phase (Index Selection)
121(3)
Estimate Column Selectivity
124(1)
Estimate Index Selectivity
125(2)
A Note on Costing LIKEs
127(1)
Costing Indexes for Joins
127(1)
Costing ORs
127(1)
Index Selection Completion
128(1)
The Search Engine Phase
128(1)
Physical and Large I/O Estimation
129(1)
Join Costing
129(2)
Cache Strategies
131(22)
Sybase Memory Management
131(6)
Memory Allocation
132(1)
Where Does All the Memory Go?
133(1)
Memory Management Changes in Adaptive Server 12.5
134(3)
Memory and Performance
137(1)
Procedure Cache
138(2)
Getting Information about the Procedure Cache Size
139(1)
Procedure Cache Sizing
140(1)
Data Cache
140(1)
Workload Mix
140(1)
Named Cache
141(2)
The MRU/LRU Chain
142(1)
Cleaning Buffers
142(1)
Cache Strategy
143(7)
Choosing the Cache Strategy
144(1)
Large I/O and Cache Strategies
145(1)
Tuning Named Caches
146(1)
Strategy for OLTP Type Transactions
147(1)
Strategy for DSS Type Transactions
148(1)
Relaxed Strategy
149(1)
Performance with Large I/O
150(1)
Cache Configuration Considerations
151(2)
Parallel Query Processing
153(20)
Introduction
153(1)
Why Use Parallel Queries?
153(1)
Parallel Processing Model
154(2)
How Parallel Queries Access Objects
156(2)
Hash Table Scan
156(1)
Hash Non-Clustered Index Scan
157(1)
Hash Clustered Index Scan
157(1)
Partition Scan
157(1)
Partition Clustered Index Scan
157(1)
Configuring ASE for Parallel Queries
158(1)
Controlling the Number of Parallel Queries
159(1)
How Should I Implement Parallel Queries?
159(4)
Parallel Query Tests - Single Queries
160(1)
Parallel Query Tests - Multiple Queries
161(1)
Balancing Throughput
162(1)
Insufficient Worker Processes
163(4)
Parallel Sorting
164(1)
How a Sort is Performed
164(1)
Facts about Parallel Sort
164(1)
Configuring the Number of Producers
165(1)
Configuring the Number of Consumers
165(1)
Sort Buffers
165(1)
Configuring ASE for Optimal Performance
166(1)
set sort_resources Command
166(1)
Expected Performance
166(1)
Monitoring Parallel Queries
167(6)
Showplan
167(1)
Trace Flags
168(1)
Sp_sysmon
169(1)
Worker Process Management
170(1)
Parallel Query Management
170(3)
Application Design
173(16)
Client Design
173(1)
Resource Contention
174(4)
Memory and Cache
176(1)
tempdb
177(1)
Application Maintenance
178(4)
Indexes
178(1)
Partitioning and Parallelism
179(1)
Deadlocks
180(1)
Isolation Levels
181(1)
Cursors
182(1)
Transaction Length
183(1)
Data Validation
183(1)
Data Processing
184(1)
Normalization and Denormalization
185(1)
HTML and XML
186(1)
Application Design Process
187(2)
T-SQL Programming
189(18)
Introduction
189(1)
Procedures vs. Inline Code
189(8)
Procedure Return Codes and Error Handling
195(2)
Triggers
197(3)
Characteristic Functions
200(7)
Subqueries
203(2)
Transaction Nesting Levels and Modes
205(1)
Java Functions
206(1)
Optimizing Stored Procedures
207(22)
Introduction
207(1)
Where Do I Start?
207(1)
Optimizing Stored Procedures
208(1)
Storing and Executing Procedures
209(2)
Building the Query Tree: Resolution
209(1)
Building the Query Plan: Compilation
209(1)
Multiple Users and the Query Plan
209(1)
Resolving Execution Plan Differences
210(1)
Procedure Recompilation
210(1)
Procedure Re-resolution
211(1)
The Planning Phase
211(1)
Testing and Debugging Stored Procedures
212(1)
Debugging Techniques
212(1)
Using SARGs (Search Arguments)
213(4)
Matching Datatypes in SARGs
214(2)
SARG Guidelines
216(1)
Temporary Tables and Stored Procedures
217(2)
Evaluating Performance
219(8)
showplan
220(1)
Statistics Time
220(1)
statistics io
221(1)
fmtonly
221(1)
forceplan
221(1)
Table Count
221(1)
Specifying a Strategy (index...prefetch...mru_lru...parallel)
222(1)
Sp_cachestrategy
222(1)
sort_merge
222(1)
parallel_degree
222(1)
Using the Tools
223(1)
Interpreting a Showplan Report
223(2)
Using Simulated Statistics
225(1)
Measuring Stored Procedures at Run Time
225(1)
Checking for Join Columns and Search Arguments
226(1)
Avoiding Stored Procedure ``Hot Spots''
226(1)
Improving Stored Procedure Performance
227(2)
Locking
229(14)
Why Objects are Locked
229(1)
ANSI Transaction Isolation Levels
230(2)
Level 0
230(1)
Level 1
230(1)
Level 2
230(1)
Level 3
230(1)
Default Isolation Level
231(1)
Setting Session Isolation Levels
231(1)
Setting Statement Isolation Level
231(1)
lock table Command
232(1)
Lock Granularity
232(2)
Types of Page/Row Locks
233(1)
Table Locking
233(1)
ASE Locking Schemes
234(2)
Allpages Locking
235(1)
Datapages Locking
235(1)
Datarows Locking
235(1)
Specifying a Locking Scheme
236(1)
Server Level Locking
236(1)
Table Level Locking
236(1)
Concurrency Issues
236(2)
Allpages Locking
236(1)
Datapages Locking
237(1)
Datarows Locking
237(1)
Configuring Lock Promotion
238(1)
Setting Lock Promotion Values
239(1)
Configuring Locks
240(1)
Cursor Locking
240(1)
Summary
241(2)
Deadlock
243(8)
What is Deadlock?
243(4)
Various Forms of Deadlock
244(1)
Deadlock with Holdlocks
245(1)
Front-End Deadlock
246(1)
Error 1205
246(1)
Configuration Options
247(3)
Deadlock Checking
248(1)
Avoiding Deadlocks
248(2)
Summary
250(1)
Configuration
251(26)
How to View Configuration Settings
251(1)
Display Level
252(1)
How to Change Configuration Values
253(2)
Specifying a Configuration File with sp_configure
254(1)
New Configuration Features in Sybase ASE 11.5
255(4)
Expanded Error Log Messages
257(1)
Extended Stored Procedures
257(1)
Resource Limits
258(1)
New Configuration Parameters for the NT Platform
259(1)
New Configuration Features in Sybase ASE 11.9.2
259(5)
Changed Configuration Parameters
263(1)
Renamed Configuration Parameters
264(1)
New Configuration Parameters for Version 12
264(4)
Changes to Existing Configuration Parameters
268(1)
Sybase ASE 12.5 Configuration Changes
268(5)
What's New in ASE 12.5?
268(1)
Upgrading
268(1)
New Configuration Parameters
269(1)
Memory in ASE
269(1)
allocate max shared memory
270(1)
dynamic allocation on demand
270(1)
How Do I Decrease Memory Configuration Parameters?
270(1)
Default Data Cache
271(2)
New Dynamic Configuration Options
273(4)
Changed Configuration Options
275(1)
Deleted Configuration Options
275(2)
How to Read sp_sysmon Output
277(36)
Introduction
277(1)
How Does sp_sysmon Work?
277(1)
When to Run sp_sysmon
278(2)
How to Use the Data
280(9)
Kernel Utilization
280(1)
Engine Busy Utilization
281(2)
CPU Yields by Engine
283(1)
Network Checks
283(1)
Total Disk I/O Checks
284(1)
Checks Returning I/O
284(1)
Average Disk I/Os Returned
284(1)
Worker Process Management
284(1)
Avg Mem Ever Used by a WP
285(1)
Task Management
286(1)
Per Second and Per Transaction Data
287(1)
Percent of Total and Count Data
287(1)
Per Engine Data
287(1)
Total or Summary Data
287(2)
Transaction Management
289(4)
ULC Flushes to Xact (Transaction) Log
290(1)
Total ULC Flushes
291(1)
ULC Log Records
291(1)
Maximum ULC Size
291(1)
ULC Semaphore Requests
292(1)
Log Semaphore Requests
292(1)
Log Semaphore Contention and User Log Caches
293(1)
Transaction Log Writes
293(1)
Transaction Log Allocations
293(1)
Avg # Writes Per Log Page
293(1)
Lock Management
293(2)
Index Management
295(4)
Nonclustered Maintenance
296(1)
Page Splits
297(1)
Page Shrinks
298(1)
Index Scans
298(1)
Disk I/O Management
299(2)
Max Outstanding I/Os
300(1)
Device Activity Detail
301(1)
Data Cache Management
301(7)
Cache Search Summary
303(1)
Cache Turnover
303(1)
Cache Strategy Summary
304(1)
Large I/O Usage
304(1)
Large I/O Effectiveness
304(1)
APFs Issued/Denied
305(1)
APF Buffers Found in Cache
305(1)
Dirty Read Behavior
305(1)
Cache Management by Cache
306(1)
Spinlock Contention
306(1)
Utilization
306(1)
Cache Search, Hit, and Miss Information
306(1)
Pool Turnover
307(1)
Buffer Wash Behavior
307(1)
Cache Strategy
308(1)
Large I/O Usage
308(1)
Large I/O Detail
308(1)
Procedure Cache Management
308(3)
Network I/O Management
309(2)
Summary
311(2)
Network Performance
313(10)
How Sybase ASE Handles Client Connections
313(2)
How to Identify Network Performance Problems
315(1)
Possible Causes of Network Performance Problems
316(5)
Tips on Understanding Network Performance and Finding Causes
320(1)
Summary
321(2)
Performance Metrics
323(8)
CPU Utilization Percentage
324(1)
Memory Management
324(3)
Spinlock
324(1)
Context Cache Miss
325(1)
Total Cache Misses (or Cache Hits) and Total Cache Searches
326(1)
Cache Searches per Second
326(1)
Deadlocks
327(1)
Locks
327(1)
I/O Management
327(2)
Disk Statistics from sp_sysmon
327(1)
Disk Statistics from iostat
328(1)
Network Management
329(2)
Network Packets Received/Sent
329(2)
The Audit System
331(20)
Tuning the Audit System
331(1)
What Can Be Audited?
332(1)
The sybsecurity Database
332(1)
Installing the Audit System
333(1)
Installing Auditing with installsecurity
334(1)
Installing Auditing with auditinit
334(1)
The Audit Tables
334(8)
Understanding the Audit Tables
335(1)
The Extrainfo Column
336(1)
The Event Column
336(3)
Changing the Current Audit Table
339(1)
Archiving the Audit Table
340(1)
Setting Up a Threshold Procedure
341(1)
Attaching the Threshold Procedure to Each Audit Segment
342(1)
When Audit Data is Recorded
342(1)
Auditing Configuration Parameters and System Procedures
343(1)
System Procedures for Auditing
344(1)
Managing the Audit System Transaction Log
344(3)
Truncating the Transaction Log
345(1)
Managing the Transaction Log with No Truncation
345(1)
Suspending Auditing if Devices are Full
346(1)
Examples of Setting Auditing Options
346(1)
The Audit Queue
347(1)
Querying the Audit Trail
348(1)
Review of Auditing and Performance
348(3)
Abstract Query Plans
351(14)
Associating a Query with a Plan
352(1)
Abstract Query Plan Language
353(2)
Specifying Access Methods
353(1)
Full and Partial Plan Examples
354(1)
Identifying Tables
354(1)
Specifying Join Types
355(1)
Hints and Partial Plans
356(1)
Specifying Illegal or Inconsistent Plans
357(1)
Creating Abstract Plans for Subqueries
357(3)
Materialization
358(1)
Flattening Queries
358(1)
Changing Join Order of Flatten Queries
359(1)
Nested Subqueries
359(1)
Reformatting
360(1)
OR Strategy
361(1)
Not Specifying a Store Operator
361(1)
General Strategy to Write a Plan
361(2)
Capture the Existing Plan
362(1)
Comparing ``Before'' and ``After'' System Upgrades
363(2)
Miscellaneous Topics
365(8)
bcp
365(2)
bcp Types
365(1)
Using bcp
366(1)
How to Improve bcp Performance
366(1)
dbcc Locking Considerations
367(1)
tempdb Performance Issues
368(3)
tempdb Performance Tips
368(1)
Consider Placing tempdb on a Faster I/O Device
369(1)
Advantages of Assigning Tempdb to Its Own Data Cache
370(1)
Important Tip
370(1)
Sample Session Moving tempdb
370(1)
Locking Contention in tempdb
371(1)
Log Bottlenecks
371(1)
Summary
372(1)
Appendix A Tuning Sybase ASE Using Solid State Accelerators 373(8)
Appendix B Fragmentation and Database Performance 381(22)
Index 403