• Support for desc btree index
  • Make enhancements to Innodb to take advantage of flash/ssds.
  • Disable statistic collection unless explicitly requested
  • Build A cache for stats so they could be modfied or locked in place
  • Look at speeding the performance of the doublewrite buffer
  • Pin table/object in buffer pool ( similar to LRU )
  • Parallel query

High Availability & Recovery:

  • Port Global Transaction ID from Google V4 patch
  • Port binary log checksums from v4 Google patch
  • Add replication load statistics.
  • DONE Optionally take tables offline when they see corruption instead of crashing the whole server.
  • DONE Make InnoDB data recovery faster. See http://dammit.lt/2008/10/26/innodb-crash-recovery/
  • DONE Import/Export Innodb tablespaces


  • Create multiple LRU's in Innodb, each LRU can be assigned tables. This means you can effectively have “multiple” buffer pools. Assigning table A to LRU1, and table B to LRU2 would means when you load data from table B only table B pages already in the BP would be removed to make room for other Table B pages.
  • Create a way to prioritize tables in the buffer pool. Higher priority tables would have greater stickiness in the BP.
  • Include Waffle Grid Code into XtraDB
  • Build an easy frame work to allow for cross shard joins
  • Non-blocking schema changes

SAAS Features:

  • Query Timeouts
  • Add CPU & IO Resource limits for user and per query
  • Add different classes or tiers of users ( i.e. users with higher priority get more cpu time )
  • Online move of table data ( with file per table ) from server to server
  • Database migration from system to system
  • Per database/schema cpu, io stats
  • Allocate active connections ( innodb thread conncurecny ) per database/user

Increased Visibility & Statisitcs:

  • Instead of writing into slow-log file, keep log records in memory and we should be able to retrieve them by SELECT * FROM INFORMATION_SCHEMA.SLOW_LOG.
  • Show more information on filesorts.
  • Create a counter to track the size of the largest implicit temporary table created
  • show temp table stats, current size/number
  • Add CPU Time in the processlist
  • Enhanced show mutex status
  • Add age of transaction into the processlist
  • Add slow log information into the process list
  • Move deadlock output to the end of show innodb status
  • Implement ability to examine “raw” table/index pages (location, size, free space etc).
  • Make SYS_TABLES/SYS_INDEXES tables accessible in a read-only fashion.
  • Add (optionally) queries executed with error to the slow query log with their error code.
  • Add innodb deadlock status variable
  • create result set checksum for slow query log
  • Add microsecond datetime to slow query log
  • Add slowlog handler stats
  • Log slow queries from Stored procs
  • Show data from Table and Tablespace Monitor via INFORMATION_SCHEMA
  • Dump pages from given tablespace
  • Show information about Tablespaces and their sizes
  • Show undo slots information
  • Show detailed flush stats ( how long & howmany pages each flush took )
  • Show memory consumed by InnoDB mutexes in SHOW INNODB STATUS
  • Track more Ibuf details

General Enhancements and Features:

  • Integrate patch from Ebay to permit the Memory storage engine to have variable-length rows.
  • 5.1 partitioning to support different storage engines
  • Increase the number of internal innodb settings that are server variables ( i.e. fill factor )
  • Make InnoDB data dictionary LRU based so tables don't stay open forever.
  • Replace zlib compression with bzip2
  • Make zlib compression a server variable
  • Make the doublewrite buffer's size configurable, assuming it is beneficial.
  • open innodb tables in parallel
  • Use several rollback segments
  • Allow you to set the innodb fill factor
  • It would be good to set Innodb log files to be set as sequential access and say do not cache for data files.
  • Flush table from buffer pool
  • Dynamically increase the size of the buffer pool
  • Large CPU usage of InnoDB crash recovery with a big buf pool
  • create a shared compat package for the build
  • add bmdiffcompression
  • Clean Buff Pool ( i.e. flush buffer pool command )
  • Create datafiles/tablespaces and assign tables to them
  • Better space reclaimation
  • subsecond time datatype

Xtradb specific:

  • port innodb-io-pattern-patch

Port Patches:

  • port google v4 patches to percona builds


  • Report query return codes in MySQL slow log
  • Make build Options available via information schema/show something like SHOW BUILDINFO
  • Log of Queries in shared memory; Available to retrieve remotely
  • INNODB THREADS STATUS show what Innodb background threads are doing
  • SSD mode for Innodb
  • Limit size of Innodb undo space
  • Add information about deadlocks and row wait timeouts
  • Can we have adaptive spinlock which spin based on history ?
  • More transaparency and tunables for adaptive hash index


devplan/start/ideas.txt · Last modified: 2015/08/05 15:37 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Contact Us 24 Hours A Day
SupportContact us 24×7
Emergency? Contact us for help now!
Sales North America(888) 316-9775 or
(208) 473-2904
+44-208-133-0309 (UK)
0-800-051-8984 (UK)
0-800-181-0665 (GER)
Training(855) 55TRAIN or
(925) 271-5054


Share This
]]> ]]>