Fast Index Creation

Percona has implemented several changes related to MySQL‘s fast index creation feature. Extended features, besides disabling fast_index_creation, can be enabled with expand_fast_index_creation.

Disabling Fast Index Creation

Fast index creation was implemented in MySQL as a way to speed up the process of adding or dropping indexes on tables with many rows. However, cases have been found in which fast index creation creates an inconsistency between MySQL and InnoDB data dictionaries.

This feature implements a session variable that disables fast index creation. This causes indexes to be created in the way they were created before fast index creation was implemented. While this is slower, it avoids the problem of data dictionary inconsistency between MySQL and InnoDB.

Tunable buffer size for fast index creation

Percona Server supports tunable buffer size for fast index creation in InnoDB. This value was calculated based on the merge block size (which was hardcoded to 1 MB) and the minimum index record size. By adding the session variable innodb_merge_sort_block_size block size that is used in the merge sort can now be adjusted for better performance.

Version Specific Information

System Variables

variable fast_index_creation
Command Line:Yes
Config File:No
Scope:Local
Dynamic:Yes
Variable Type:Boolean
Default Value:ON
Range:ON/OFF
variable innodb_merge_sort_block_size
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Variable Type:ULONG
Default Value:1048576 (1M)
Range:1048576 - 1073741824 (1G)
Percona Server
Call Us
+1-888-316-9775 (USA - Sales)
+1-208-473-2904 (USA - Sales)
+44-208-133-0309 (UK - Sales)
0-800-051-8984 (UK - Sales)
0-800-181-0665 (GER - Sales)
+1-877-862-4316 (Emergency)
+1-855-55TRAIN (Training)
+1-925-271-5054 (Training)

Table Of Contents

Previous topic

Dump/Restore of the Buffer Pool

Next topic

Expanded Fast Index Creation

This Page



© Copyright Percona LLC and/or its affiliates 2009-2014.
Except where otherwise noted, this documentation is licensed under the following license:
CC Attribution-ShareAlike 2.0 Generic
Created using Sphinx 1.1.3.
This documentation is developed in Launchpad as part of the Percona Server source code.
If you spotted innacuracies, errors, don't understood it or you think something is missing or should be improved, please file a bug.
]]>