Почему mysql статус key_reads, значения key_reads_request равны нулю?
У меня есть некоторая путаница в отношении моего статуса MySQL. mysql> показывать статус как '%key%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| Com_assign_to_keycache | 0 |
| Com_preload_keys | 0 |
| Com_show_keys | 0 |
| Handler_read_key | 2 |
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 13396 |
| Key_blocks_used | 0 |
| Key_read_requests | 0 |
| Key_reads | 0 |
| Key_write_requests | 0 |
| Key_writes | 0 |
но на сервере есть большие (более 1 миллиарда в день) операции вставки, обновления и запросов, но почему значение состояния равно 0. Сервер работал почти 3 дня (время работы:2 дня 18 часов 54 минуты 19 секунд).Я не сбрасывал статус сервера. Некоторый механизм конфигурации базы данных = innodb,key_buffer = 16M, innodb_buffer_pool_size = 2147483648. Спасибо за любую информацию.
2 ответа
Возможно, вы используете таблицы InnoDB?
Эти значения состояния сервера Key_XXX предназначены для таблиц MyISAM.
Значения, которые вы просматриваете, относятся к таблицам MyISAM. Они представляют кэш ключа MyISAM:
http://dev.mysql.com/doc/refman/5.0/en/myisam-key-cache.html
В этом кеше хранятся недавно использованные ключи с расчетом на то, что недавно использованные ключи, скорее всего, скоро будут снова использованы, поэтому они могут быть полезны для кэширования.
Поскольку вы используете innodb, кеш ключей не используется.
В целях настройки вы должны минимизировать объем памяти, выделенный для кэша ключей. Любая память, отнятая из обработки innodb, вероятно, потрачена впустую -