Почему 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, вероятно, потрачена впустую -

Другие вопросы по тегам