Самым быстрым вариантом будет кэширование в памяти в локальной системе. Это не будет хорошо масштабироваться для многих миллионов отношений, но будет очень быстрым и хорошо работать для небольших наборов данных.
Я не проводил тестирование производительности между Memcached / MySQL HEAP, но я предполагаю, что Memcached будет быстрее, потому что у него нет издержек на полный механизм реляционных БД. Memcached почти наверняка будет лучше масштабироваться, потому что вы можете распределить его по серверам и получить между ними запрос циклического перебора.
Если вам необходимо выполнить какую-либо фильтрацию данных перед их извлечением, вам следует использовать MySQL. Повышение производительности при передаче нежелательных данных, вероятно, перевесит преимущества более быстрого поиска.
На вашем месте я бы загрузил набор данных в MySQL и Memcached, а затем запустил тесты производительности, чтобы выяснить, что лучше для вашего набора данных. Если к ядру данных обращаются особенно часто, рассмотрите дополнительный машинно-локальный кеш.