What is included with this book?
Foreword | p. xix |
About the Authors | p. xxi |
About the Technical Reviewer | p. xxiii |
Acknowledgments | p. xxv |
Introduction | p. xxvii |
Design and Development | |
Analyzing Business Requirements | p. 3 |
The Project | p. 4 |
From Concept to Model | p. 13 |
Database Selection | p. 32 |
Your Environment | p. 35 |
Summary | p. 38 |
Index Concepts | p. 39 |
Data Storage | p. 40 |
How Indexes Affect Data Access | p. 44 |
Clustered vs. Non-Clustered Data and Index Organization | p. 55 |
Index Layouts | p. 57 |
Compression | p. 62 |
General Index Strategies | p. 64 |
Summary | p. 67 |
Transaction Processing | p. 69 |
Transaction Processing Basics | p. 70 |
Ensuring Atomicity, Consistency, and Durability | p. 76 |
Implementing Isolation and Concurrency | p. 88 |
Identifying Your Transaction Control Requirements | p. 102 |
Summary | p. 103 |
MySQL System Architecture | p. 105 |
The MySQL Source Code and Documentation | p. 106 |
MySQL Architecture Overview | p. 111 |
Process, Thread, and Resource Management | p. 114 |
Storage Engine Abstraction | p. 117 |
Caching and Memory Management Subsystem | p. 121 |
Network Management and Communication | p. 128 |
Access and Grant Management | p. 131 |
Log Management | p. 133 |
Query Parsing, Optimization, and Execution | p. 135 |
The Query Cache | p. 139 |
A Typical Query Execution | p. 140 |
Summary | p. 151 |
Storage Engines and Data Types | p. 153 |
Storage Engine Considerations | p. 154 |
The MyISAM Storage Engine | p. 154 |
The InnoDB Storage Engine | p. 164 |
Other Storage Engines | p. 173 |
Guidelines for Choosing a Storage Engine | p. 178 |
Data Type Choices | p. 179 |
Summary | p. 188 |
Benchmarking and Profiling | p. 189 |
What Can Benchmarking Do for You? | p. 190 |
General Benchmarking Guidelines | p. 193 |
Benchmarking Tools | p. 198 |
What Can Profiling Do for You? | p. 217 |
General Profiling Guidelines | p. 218 |
Profiling Tools | p. 219 |
Summary | p. 234 |
Essential SQL | p. 235 |
SQL Style | p. 236 |
MySQL Joins | p. 238 |
EXPLAIN and Access Types | p. 262 |
Join Hints | p. 274 |
Subqueries and Derived Tables | p. 280 |
Summary | p. 297 |
SQL Scenarios | p. 299 |
Handling OR Conditions Prior to MySQL 5.0 | p. 300 |
Dealing with Duplicate Entries and Orphaned Records | p. 303 |
Dealing with Hierarchical Data | p. 311 |
Retrieving Random Records | p. 326 |
Calculating Distances with Geographic Coordinate Data | p. 328 |
Generating Running Sums and Averages | p. 344 |
Summary | p. 347 |
Stored Procedures | p. 349 |
Stored Procedure Considerations | p. 349 |
Stored Procedures in MySQL | p. 353 |
Building Stored Procedures | p. 354 |
Using Stored Procedures | p. 366 |
Managing Stored Procedures | p. 369 |
Stored Procedure Permissions | p. 372 |
Summary | p. 373 |
Functions | p. 375 |
Database Function Uses | p. 376 |
Functions Compared with Other Database Tools | p. 377 |
Functions in MySQL | p. 380 |
Creating Functions | p. 382 |
Using Functions | p. 394 |
Managing Functions | p. 398 |
Function Permissions | p. 401 |
Performance of Functions | p. 402 |
Summary | p. 403 |
Cursors | p. 405 |
Database Cursors | p. 405 |
Cursors in MySQL | p. 407 |
Creating Cursors | p. 408 |
Using Cursors | p. 413 |
Summary | p. 418 |
Views | p. 419 |
Database View Uses | p. 419 |
Views in MySQL | p. 421 |
Creating Views | p. 422 |
Creating Updatable Views | p. 433 |
Defining Views of Views | p. 435 |
Managing Views | p. 436 |
View Permissions | p. 440 |
Performance of Views | p. 440 |
Summary | p. 442 |
Triggers | p. 443 |
Database Triggers | p. 443 |
The Debate Over Using Triggers | p. 444 |
Triggers in MySQL | p. 446 |
Creating MySQL Triggers | p. 448 |
Using Triggers | p. 456 |
Managing Triggers | p. 461 |
Trigger Permissions | p. 463 |
Trigger Performance | p. 463 |
Summary | p. 465 |
Administration | |
MySQL Installation and Configuration | p. 469 |
Using an Existing Installation | p. 470 |
Installing Prebuilt Binaries | p. 470 |
Building from Source or the Development Source Tree | p. 477 |
Starting and Stopping MySQL | p. 483 |
Performing Post-Installation Setup | p. 484 |
Configuring MySQL | p. 485 |
Upgrading MySQL | p. 493 |
Uninstalling MySQL | p. 494 |
Running Multiple Database Servers on a Single Machine | p. 495 |
Summary | p. 496 |
User Administration | p. 497 |
MySQL Privileges | p. 497 |
How MySQL Controls Access and Verifies Privileges | p. 510 |
Managing User Accounts from the Command Line | p. 516 |
Using the MySQL Administrator GUI Tool | p. 519 |
Thinking in Terms of User Roles | p. 529 |
Practical Guidelines for User Administration | p. 531 |
Summary | p. 531 |
Security | p. 533 |
Understanding Security Requirements | p. 534 |
Building a Security Plan | p. 536 |
Getting Started: A MySQL Security Quick List | p. 540 |
Setting Up Database Security: An Example | p. 541 |
Securing Your Whole System: Seven Major Areas | p. 545 |
Summary | p. 553 |
Backup and Restoration | p. 555 |
Why Do We Create Backups? | p. 555 |
Creating a Backup and Restore Plan | p. 556 |
Backing Up a Database: A Quick Example | p. 559 |
Using MySQL Tools to Make and Restore Backups | p. 560 |
Using Binary Logs for Up-to-Date Tables | p. 581 |
Summary | p. 583 |
Replication | p. 585 |
What Is Replication? | p. 586 |
Why Replicate Data? | p. 589 |
What Isn't Solved with Replication | p. 591 |
Planning for Replication | p. 591 |
How MySQL Implements Replication | p. 592 |
Initial Replication Setup | p. 597 |
Configuration Options | p. 601 |
Monitoring and Managing | p. 606 |
Replication Performance | p. 611 |
Replication Examples | p. 613 |
Summary | p. 615 |
Cluster | p. 617 |
What Is Clustering? | p. 618 |
MySQL's Cluster Implementation | p. 619 |
Installing MySQL Cluster | p. 627 |
Initial Configuration and Startup | p. 627 |
Cluster Processes | p. 634 |
Configuration File Options | p. 636 |
Managing the Cluster | p. 640 |
Log Files | p. 643 |
Security | p. 644 |
Summary | p. 644 |
Troubleshooting | p. 645 |
Troubleshooting Toolkit | p. 646 |
Commonly Encountered Issues | p. 652 |
How to Report MySQL Bugs | p. 667 |
Support Options | p. 668 |
Summary | p. 668 |
MySQL Data Dictionary | p. 669 |
Benefits of a Standardized Interface | p. 670 |
The INFORMATION_SCHEMA Views | p. 671 |
Usage Examples | p. 694 |
Summary | p. 698 |
Index | p. 699 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.