Что означают единицы измерения "размер буфера ключа" и "общие индексы MyISAM"?

Я запустил MySQLTuner в своей базе данных, чтобы проверить, все ли работает правильно и оптимально, но я был озадачен тем, какие единицы используются для этих двух значений.

Вот как выглядит результат для показателей производительности

-------- Performance Metrics -------------------------------------------------
[--] Up for: 2d 5h 11m 20s (47M q [249.471 qps], 45M conn, TX: 65B, RX: 8B)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 1.1G global + 2.7M per thread (300 max threads)
[!!] Maximum possible memory usage: 1.9G (198% of installed RAM)
[OK] Slow queries: 0% (43/47M)
[OK] Highest usage of available connections: 5% (17/300)
[OK] Key buffer size / total MyISAM indexes: 600.0M/128.0K
[OK] Key buffer hit rate: 100.0% (17K cached / 0 reads)
[OK] Query cache efficiency: 98.1% (46M cached / 47M selects)
[!!] Query cache prunes per day: 22728
[OK] Sorts requiring temporary tables: 0% (9 temp sorts / 65K sorts)
[!!] Joins performed without indexes: 2839
[OK] Temporary tables created on disk: 0% (235 on disk / 42K total)
[OK] Thread cache hit rate: 99% (79 created / 45M connections)
[!!] Table cache hit rate: 1% (400 open / 27K opened)
[OK] Open file limit used: 0% (0/1K)
[OK] Table locks acquired immediately: 100% (1M immediate / 1M locks)
[!!] Connections aborted: 99%
[!!] InnoDB data size / buffer pool: 6.5G/128.0M

Но мой вопрос об этой линии

[OK] Key buffer size / total MyISAM indexes: 600.0M/128.0K

Я не знаю, что означают единицы, или насколько они различаются по размеру. Что такое "М" и "К"

Я знаю, что размер моего ключевого буфера должен быть больше, чем индексы MyISAM, но я не могу сказать, так ли это, потому что я не понимаю единицы измерения. Я зашёл в онлайн, но не смог найти ответы, которые искал. Если бы кто-то мог объяснить мне это, я был бы очень признателен.

2 ответа

Решение

Вы уверены, что изучили документацию? Цитирование из документации MySQL:

Чтобы минимизировать дисковый ввод-вывод, механизм хранения MyISAM использует механизм кэширования для хранения наиболее часто используемых блоков таблицы в памяти:

Для индексных блоков поддерживается специальная структура, называемая кешем ключей (или буфером ключей).

Чтобы контролировать размер кэша ключей, используйте системную переменную key_buffer_size.

Если не ошибаюсь, это единицы измерения размера; Вот M обозначает мегабайты и K обозначает Кило Байт.

Общий размер индексов (файлов.MYI) для всех ваших таблиц MyISAM составляет 128 КБ (килобайт). следовательно key_buffer_size = 600M (мегабайт) является излишним.

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