Skip to Main Content
The world's most popular open source database
Contact MySQL
|
Login
|
Register
MySQL.com
Downloads
Documentation
Developer Zone
Developer Zone
Downloads
MySQL.com
Documentation
MySQL Server
MySQL Enterprise
Workbench
InnoDB Cluster
MySQL NDB Cluster
Connectors
More
MySQL.com
Downloads
Developer Zone
Section Menu:
Documentation Home
MySQL 8.0 Reference Manual
Preface and Legal Notices
General Information
Installing MySQL
Upgrading MySQL
Downgrading MySQL
Tutorial
MySQL Programs
MySQL Server Administration
Security
Backup and Recovery
Optimization
Optimization Overview
Optimizing SQL Statements
Optimizing SELECT Statements
WHERE Clause Optimization
Range Optimization
Index Merge Optimization
Hash Join Optimization
Engine Condition Pushdown Optimization
Index Condition Pushdown Optimization
Nested-Loop Join Algorithms
Nested Join Optimization
Outer Join Optimization
Outer Join Simplification
Multi-Range Read Optimization
Block Nested-Loop and Batched Key Access Joins
Condition Filtering
Constant-Folding Optimization
IS NULL Optimization
ORDER BY Optimization
GROUP BY Optimization
DISTINCT Optimization
LIMIT Query Optimization
Function Call Optimization
Window Function Optimization
Row Constructor Expression Optimization
Avoiding Full Table Scans
Optimizing Subqueries, Derived Tables, View References, and Common Table Expressions
Optimizing IN and EXISTS Subquery Predicates with Semijoin Transformations
Optimizing Subqueries with Materialization
Optimizing Subqueries with the EXISTS Strategy
Optimizing Derived Tables, View References, and Common Table Expressions with Merging or Materialization
Derived Condition Pushdown Optimization
Optimizing INFORMATION_SCHEMA Queries
Optimizing Performance Schema Queries
Optimizing Data Change Statements
Optimizing INSERT Statements
Optimizing UPDATE Statements
Optimizing DELETE Statements
Optimizing Database Privileges
Other Optimization Tips
Optimization and Indexes
How MySQL Uses Indexes
Primary Key Optimization
SPATIAL Index Optimization
Foreign Key Optimization
Column Indexes
Multiple-Column Indexes
Verifying Index Usage
InnoDB and MyISAM Index Statistics Collection
Comparison of B-Tree and Hash Indexes
Use of Index Extensions
Optimizer Use of Generated Column Indexes
Invisible Indexes
Descending Indexes
Indexed Lookups from TIMESTAMP Columns
Optimizing Database Structure
Optimizing Data Size
Optimizing MySQL Data Types
Optimizing for Numeric Data
Optimizing for Character and String Types
Optimizing for BLOB Types
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
Limits on Number of Databases and Tables
Limits on Table Size
Limits on Table Column Count and Row Size
Optimizing for InnoDB Tables
Optimizing Storage Layout for InnoDB Tables
Optimizing InnoDB Transaction Management
Optimizing InnoDB Read-Only Transactions