14.16.1.3 Использование таблиц схемы информации для сжатия
Пример 14.1 Использование таблиц схемы информации для сжатия
Ниже приведен пример вывода из базы данных, содержащей сжатые таблицы (см. Раздел 14.9, «InnoDB Табличное и страничное сжатие», INNODB_CMP, INNODB_CMP_PER_INDEX и INNODB_CMPMEM).
В следующей таблице показано содержимое таблицы схемы информации INNODB_CMP при небольших нагрузках. Единственный размер страницы, который содержится в кэше страниц, — 8К. Сжатие или распаковку страниц потребовало меньше секунды с момента сброса статистики, так как столбцы COMPRESS_TIME и UNCOMPRESS_TIME равны нулю.
| размер страницы | операции сжатия | успешные операции сжатия | время сжатия | операции распаковки | время распаковки |
|---|---|---|---|---|---|
| 1024 | 0 | 0 | 0 | 0 | 0 |
| 2048 | 0 | 0 | 0 | 0 | 0 |
| 4096 | 0 | 0 | 0 | 0 | 0 |
| 8192 | 1048 | 921 | 0 | 61 | 0 |
| 16384 | 0 | 0 | 0 | 0 | 0 |
Согласно INNODB_CMPMEM, в кэше содержится 6169 сжатых страниц размером 8К. Единственный другой размер выделенного блока — 64 байта. Наименьший PAGE_SIZE в INNODB_CMPMEM используется для описателей блоков тех сжатых страниц, для которых в кэше страниц нет нескомпрессированной страницы. Мы видим, что таких страниц 5910. Косвенно мы видим, что 259 (6169-5910) сжатых страниц также присутствуют в кэше страниц в нескомпрессированном виде.
В следующей таблице показано содержимое таблицы схемы информации INNODB_CMPMEM при небольшой нагрузке. Часть памяти недоступна из-за фрагментации аллокатора памяти для сжатых страниц: SUM(PAGE_SIZE*PAGES_FREE)=6784. Это происходит потому, что небольшие запросы на выделение памяти выполняются путем разделения больших блоков, начиная с 16К блоков, выделенных из основного кэша страниц, с использованием системы выделения блоков. Фрагментация так невелика, потому что некоторые выделенные блоки были перемещены (скопированы) для образования больших смежных свободных блоков. Эта копирование SUM(PAGE_SIZE*RELOCATION_OPS) байт заняло меньше секунды (SUM(RELOCATION_TIME)=0).
| размер страницы | используемые страницы | свободные страницы | операции перемещения | время перемещения |
|---|---|---|---|---|
| 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 |
© 2025 Oracle
Licensed under the GPLv2 License.