Хранение данных плюс индексные данные в памяти - InnoDB против MyISAM

Предположим, база данных состоит из 1 ГБ данных и 1 ГБ данных индекса.

Чтобы минимизировать дисковый ввод-вывод и, следовательно, максимизировать производительность, я хочу выделить память для MySQL, чтобы весь набор данных, включая индексы, мог храниться в ОЗУ (предположим, что на машине имеется изобилие ОЗУ).

Параметр InnoDBinnodb_buffer_pool_size используется для указания размера буфера памяти, который InnoDB использует для кэширования данных и индексов своих таблиц. (Примечание: память используется для данныхА ТАКЖЕ индексов.)

Параметр MyISAMkey_buffer_size используется для указания размера буфера памяти, используемого MyISAM для кэширования индексов своих таблиц. (Примечание: память используетсяТОЛЬКО для индексов.)

Если я хочу, чтобы база данных 2 ГБ (данные 1 ГБ и индекс 1 ГБ) помещалась в память в InnoDB, я бы просто настроилinnodb_buffer_pool_size быть2GB, Два гигабайта будут содержать и данные, и индекс.

Однако при настройке ключа MyISAMkey_buffer_size в2GB это пространство будет использоваться для индекса, но не для данных.

Мои вопросы:

Можно ли явно настроить размер буфера данных MyISAM (не данные индекса)?Когда MyISAM будет считывать данные таблицы (исключая индексные данные) с диска и когда она будет читать из памяти?

Ответы на вопрос(1)

Ваш ответ на вопрос