Мин,
это сложный вопрос. Прежде всего, вы должны выбрать правильный двигатель. Если вы используете InnoDB, вы можете установить Buffer-пул, и все данные будут кэшированы. Какие данные? Everithing. Действительно, данные, индексы, метаинформация о таблице и т. Д. Помните, для InnoDB, буферный пул.
Для MyISAM кеш разбивается на разные буферы. Например, вы можете установить key_buffer_size, и там MyISAM будет кешировать информацию о ключах.
Для вашего конкретного примера, в первом запросе он будет сканировать всю таблицу. Если у вас достаточно большой буферный пул, он будет в памяти. То же самое для второго.
Другое дело. У вас всегда должен быть индекс для такого рода запросов.
Интересные ссылки на buffer_pool:
http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/
http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html