MySQL :: MySQL 5.7 Reference Manual :: 9.10 Buffering and Caching

MySQL :: MySQL 5.7 Reference Manual :: 9.10 Buffering and Caching Contact MySQL  |  Login  |  Register The world's most popular open source database MySQL.com Downloads Documentation Developer Zone Developer Zone Downloads MySQL.com Documentation MySQL Server MySQL Enterprise Workbench Router Utilities/Fabric MySQL NDB Cluster Connectors More MySQL.com Downloads Developer Zone Section Menu:   Documentation Home MySQL 5.7 Reference Manual Preface and Legal Notices General Information Installing and Upgrading MySQL Using MySQL as a Document Store Tutorial MySQL Programs MySQL Server Administration Security Backup and Recovery Optimization Optimization Overview Optimizing SQL Statements Optimizing SELECT Statements Speed of SELECT Statements How MySQL Optimizes WHERE Clauses Range Optimization Index Merge Optimization Engine Condition Pushdown Optimization Index Condition Pushdown Optimization Use of Index Extensions IS NULL Optimization LEFT JOIN and RIGHT JOIN Optimization Nested-Loop Join Algorithms Nested Join Optimization Outer Join Simplification Multi-Range Read Optimization Block Nested-Loop and Batched Key Access Joins ORDER BY Optimization GROUP BY Optimization DISTINCT Optimization Subquery Optimization LIMIT Query Optimization Row Constructor Expression Optimization How to Avoid Full Table Scans Optimizing Data Change Statements Speed of INSERT Statements Speed of UPDATE Statements Speed of DELETE Statements Optimizing Database Privileges Optimizing INFORMATION_SCHEMA Queries Other Optimization Tips Optimization and Indexes How MySQL Uses Indexes Using Primary Keys Using Foreign Keys Column Indexes Multiple-Column Indexes Verifying Index Usage InnoDB and MyISAM Index Statistics Collection Comparison of B-Tree and Hash Indexes Optimizer Use of Generated Column Indexes Optimizing Database Structure Optimizing Data Size Optimizing MySQL Data Types Optimizing for Numeric Data Optimizing for Character and String Types Optimizing for BLOB Types Using PROCEDURE ANALYSE Optimizing for Many Tables How MySQL Opens and Closes Tables Disadvantages of Creating Many Tables in the Same Database Internal Temporary Table Use in MySQL Optimizing for InnoDB Tables Optimizing Storage Layout for InnoDB Tables Optimizing InnoDB Transaction Management Optimizing InnoDB Read-Only Transactions Optimizing InnoDB Redo Logging Bulk Data Loading for InnoDB Tables Optimizing InnoDB Queries Optimizing InnoDB DDL Operations Optimizing InnoDB Disk I/O Optimizing InnoDB Configuration Variables Optimizing InnoDB for Systems with Many Tables Optimizing for MyISAM Tables Optimizing MyISAM Queries Bulk Data Loading for MyISAM Tables Speed of REPAIR TABLE Statements Optimizing for MEMORY Tables Understanding the Query Execution Plan Optimizing Queries with EXPLAIN EXPLAIN Output Format EXPLAIN EXTENDED Output Format Obtaining Execution Plan Information for a Named Connection Estimating Query Performance Controlling the Query Optimizer Controlling Query Plan Evaluation Controlling Switchable Optimizations Optimizer Hints Index Hints The Optimizer Cost Model Buffering and Caching InnoDB Buffer Pool Optimization The MyISAM Key Cache Shared Key Cache Access Multiple Key Caches Midpoint Insertion Strategy Index Preloading Key Cache Block Size Restructuring a Key Cache The MySQL Query Cache How the Query Cache Operates Query Cache SELECT Options Query Cache Configuration Query Cache Status and Maintenance Caching of Prepared Statements and Stored Programs Optimizing Locking Operations Internal Locking Methods Table Locking Issues Concurrent Inserts Metadata Locking External Locking Optimizing the MySQL Server System Factors Optimizing Disk I/O Using Symbolic Links Using Symbolic Links for Databases on Unix Using Symbolic Links for MyISAM Tables on Unix Using Symbolic Links for Databases on Windows Optimizing Memory Use How MySQL Uses Memory Enabling Large Page Support Optimizing Network Use How MySQL Uses Threads for Client Connections DNS Lookup Optimization and the Host Cache Measuring Performance (Benchmarking) Measuring the Speed of Expressions and Functions Using Your Own Benchmarks Measuring Performance with performance_schema Examining Thread Information Thread Command Values General Thread States Query Cache Thread States Replication Master Thread States Replication Slave I/O Thread States Replication Slave SQL Thread States Replication Slave Connection Thread States MySQL Cluster Thread States Event Scheduler Thread States Language Structure Globalization Data Types Functions and Operators SQL Statement Syntax The InnoDB Storage Engine Alternative Storage Engines High Availability and Scalability Replication MySQL NDB Cluster 7.5 Partitioning Stored Programs and Views INFORMATION_SCHEMA Tables MySQL Performance Schema MySQL sys Schema Connectors and APIs Extending MySQL MySQL Enterprise Edition MySQL Workbench MySQL 5.7 Frequently Asked Questions Errors, Error Codes, and Common Problems Restrictions and Limits Indexes MySQL Glossary