+1-208-473-2904 (USA - Sales)
0-800-051-8984 (UK - Sales)
0-800-181-0665 (GER - Sales)
+1-925-271-5054 (Training)
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.
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.
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.
- 5.5.8-20.0: Variable fast_index_creation implemented.
- 5.5.11-20.2: Expanded the applicability of fast index creation to mysqldump, ALTER TABLE, and OPTIMIZE TABLE.
- 5.5.27-28.0 Variable innodb_merge_sort_block_size implemented.
| Command Line: | Yes |
|---|---|
| Config File: | No |
| Scope: | Local |
| Dynamic: | Yes |
| Variable Type: | Boolean |
| Default Value: | ON |
| Range: | ON/OFF |
| Command Line: | Yes |
|---|---|
| Config File: | Yes |
| Scope: | Global |
| Dynamic: | Yes |
| Variable Type: | ULONG |
| Default Value: | 1048576 (1M) |
| Range: | 1048576 - 1073741824 (1G) |