Прежде всего вы должны знать, что индекс MyISAM не включает в себя фактические данные, он имеет только адрес данных.
Пересмотрите мой вопрос, если вы не знаете вышедо этого.
myisam использует кеш только для ключей - http://dev.mysql.com/doc/refman/5.5/en/myisam-key-cache.html - но для ключей и данных innodb, по-видимому, обрабатываются одинаково - http://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-pool.html
в обоих случаях объем кэшируемой информации зависит отдоступное пространство.если места недостаточно, кешируется не вся информация.
так что нет, не всегда.