InnoDB INFORMATION_SCHEMA Transaction and Locking Information descriptors of those compressed pages for which no uncompressed page exists in the buffer pool. We see that there are 5910 such pages. Indirectly, we see that 259 (6169-5910) compressed pages also exist in the buffer pool in uncompressed form. The following table shows the contents of  INFORMATION_SCHEMA.INNODB_CMPMEM  under a light workload. Some memory is unusable due to fragmentation of the memory allocator for compressed pages:  SUM(PAGE_SIZE*PAGES_FREE)=6784 . This is because small memory allocation requests are fulfilled by splitting bigger blocks, starting from the 16K blocks that are allocated from the main buffer pool, using the buddy allocation system. The fragmentation is this low because some allocated blocks have been relocated (copied) to form bigger adjacent free blocks. This copying of  SUM(PAGE_SIZE*RELOCATION_OPS)  bytes has consumed less than a second (SUM(RELOCATION_TIME)=0) . page size pages used pages free relocation ops relocation time 64 5910 0 2436 0 128 0 1 0 0 256 0 0 0 0 512 0 1 0 0 1024 0 0 0 0 2048 0 1 0 0 4096 0 1 0 0 8192 6169 0 5 0 16384 0 0 0 0 15.15.2 InnoDB INFORMATION_SCHEMA Transaction and Locking Information Note This section describes locking information as exposed by the Performance Schema  data_locks  and  data_lock_waits  tables, which supersede the  INFORMATION_SCHEMA INNODB_LOCKS  and  INNODB_LOCK_WAITS tables in MySQL 8.0. For similar discussion written in terms of the older INFORMATION_SCHEMA  tables, see InnoDB INFORMATION_SCHEMA Transaction and Locking Information, in MySQL 5.7 Reference Manual. One  INFORMATION_SCHEMA  table and two Performance Schema tables enable you to monitor  InnoDB transactions and diagnose potential locking problems: • INNODB_TRX : This  INFORMATION_SCHEMA  table provides information about every transaction currently executing inside  InnoDB , including the transaction state (for example, whether it is running or waiting for a lock), when the transaction started, and the particular SQL statement the transaction is executing. • data_locks : This Performance Schema table contains a row for each hold lock and each lock request that is blocked waiting for a held lock to be released: •There is one row for each held lock, whatever the state of the transaction that holds the lock ( INNODB_TRX.TRX_STATE  is  RUNNING ,  LOCK WAIT ,  ROLLING BACK  or  COMMITTING ). •Each transaction in InnoDB that is waiting for another transaction to release a lock ( INNODB_TRX.TRX_STATE  is  LOCK WAIT ) is blocked by exactly one blocking lock request. That blocking lock request is for a row or table lock held by another transaction in an incompatible mode. 3300