Innodb Plugin 1.0 for Mysql 5.1 User's Guide Innodb Plugin 1.0 for Mysql 5.1 User's Guide
Total Page:16
File Type:pdf, Size:1020Kb
InnoDB Plugin 1.0 for MySQL 5.1 User's Guide InnoDB Plugin 1.0 for MySQL 5.1 User's Guide Abstract This is the User's Guide for InnoDB Plugin 1.0.8 for MySQL 5.1. Starting with version 5.1, MySQL AB has promoted the idea of a “pluggable” storage engine architecture , which permits multiple storage engines to be added to MySQL. Beginning with MySQL version 5.1, it is possible for users to swap out one version of InnoDB and use another. The pluggable storage engine architecture also permits Innobase Oy to release new versions of InnoDB containing bug fixes and new features independently of the release cycle for MySQL. This User's Guide documents the installation and removal procedures and the additional features of the InnoDB Plugin 1.0.8 for MySQL 5.1. WARNING: Because the InnoDB Plugin introduces a new file format, restrictions apply to the use of a database created with the InnoDB Plugin with earlier versions of InnoDB, when using mysqldump or MySQL replication and if you use the InnoDB Hot Backup utility. See Section 1.5, “Operational Restrictions”. For legal information, see the Legal Notices. Document generated on: 2014-01-30 (revision: 37573) Table of Contents Preface and Legal Notices ........................................................................................................... vii 1 Introduction to the InnoDB Plugin ............................................................................................... 1 1.1 Overview ........................................................................................................................ 1 1.2 Features of the InnoDB Plugin ......................................................................................... 1 1.3 Obtaining and Installing the InnoDB Plugin ....................................................................... 2 1.4 Viewing the InnoDB Plugin Version Number ..................................................................... 3 1.5 Operational Restrictions .................................................................................................. 3 2 Fast Index Creation in the InnoDB Storage Engine ...................................................................... 5 2.1 Overview of Fast Index Creation ...................................................................................... 5 2.2 Examples ........................................................................................................................ 5 2.3 Implementation ............................................................................................................... 6 2.4 Concurrency Considerations ............................................................................................ 7 2.5 Crash Recovery .............................................................................................................. 7 2.6 Limitations ...................................................................................................................... 8 3 InnoDB Data Compression ......................................................................................................... 9 3.1 Overview of Table Compression ...................................................................................... 9 3.2 Enabling Compression for a Table ................................................................................... 9 3.2.1 Configuration Parameters for Compression .......................................................... 10 3.2.2 SQL Compression Syntax Warnings and Errors ................................................... 11 3.3 Tuning InnoDB Compression ......................................................................................... 12 3.3.1 When to Use Compression ................................................................................. 12 3.3.2 Monitoring Compression at Runtime .................................................................... 15 3.4 How Compression Works in InnoDB .............................................................................. 15 3.4.1 Compression Algorithms ..................................................................................... 15 3.4.2 InnoDB Data Storage and Compression .............................................................. 16 3.4.3 Compression and the InnoDB Buffer Pool ............................................................ 17 3.4.4 Compression and the InnoDB Log Files ............................................................... 18 4 InnoDB File-Format Management ............................................................................................. 19 4.1 Overview of InnoDB File Formats .................................................................................. 19 4.2 Named File Formats ...................................................................................................... 19 4.3 Enabling File Formats ................................................................................................... 20 4.4 File Format Compatibility ............................................................................................... 20 4.4.1 Startup File Format Compatibility Checking .......................................................... 21 4.4.2 Table-Access File Format Compatibility Checking ................................................ 22 4.5 Identifying the File Format in Use .................................................................................. 23 4.6 Downgrading the File Format ......................................................................................... 23 4.7 Future InnoDB File Formats .......................................................................................... 23 5 InnoDB Row Storage and Row Formats ................................................................................... 25 5.1 Storage of Variable-Length Columns .............................................................................. 25 5.2 COMPACT and REDUNDANT Row Formats ....................................................................... 25 5.3 DYNAMIC Row Format ................................................................................................... 25 5.4 Specifying a Table's Row Format ................................................................................... 26 6 InnoDB INFORMATION_SCHEMA Tables .................................................................................... 27 6.1 Overview of InnoDB Support in INFORMATION_SCHEMA ................................................. 27 6.2 Information Schema Tables about Compression ............................................................. 27 6.2.1 INNODB_CMP and INNODB_CMP_RESET .............................................................. 27 6.2.2 INNODB_CMPMEM and INNODB_CMPMEM_RESET .................................................. 28 6.2.3 Using the Compression Information Schema Tables ............................................. 28 6.3 Information Schema Tables about Transactions .............................................................. 29 6.3.1 INNODB_TRX ...................................................................................................... 29 6.3.2 INNODB_LOCKS .................................................................................................. 30 6.3.3 INNODB_LOCK_WAITS ........................................................................................ 31 6.3.4 Using the Transaction Information Schema Tables ............................................... 31 6.4 Notes on Locking in InnoDB .......................................................................................... 35 6.4.1 Understanding InnoDB Locking ........................................................................... 35 iii InnoDB Plugin 1.0 for MySQL 5.1 User's Guide 6.4.2 Rapidly Changing Internal Data ........................................................................... 35 6.4.3 Possible Inconsistency with PROCESSLIST .......................................................... 36 7 Performance and Scalability Enhancements .............................................................................. 37 7.1 Overview ....................................................................................................................... 37 7.2 Faster Locking for Improved Scalability .......................................................................... 38 7.3 Using Operating System Memory Allocators ................................................................... 38 7.4 Controlling InnoDB Insert Buffering ................................................................................ 39 7.5 Controlling Adaptive Hash Indexing ................................................................................ 39 7.6 Changes Regarding Thread Concurrency ....................................................................... 40 7.7 Changes in the Read Ahead Algorithm .......................................................................... 41 7.8 Multiple Background I/O Threads ................................................................................... 42 7.9 Group Commit .............................................................................................................. 42 7.10 Controlling the Master Thread I/O Rate ........................................................................ 43 7.11 Controlling the Flushing Rate of Dirty Pages ................................................................. 43 7.12 Using the PAUSE instruction in InnoDB spin