С учетом того, что было сохранено столько записей, я бы сказал, что лучше всего сделать так, чтобы пользователь получал от этого максимум удовольствия. Дайте им знать, что это займет некоторое время.
Какие отношения вы строите? Вы устанавливаете обе стороны отношений или только одну?
Я бы сказал, что лучшее улучшение, которое вы получите, - это найти самый чистый способ получить все. И если вы можете, сохраняйте контекст только в конце, а не каждый раз (если вы это делаете).
Еще одна альтернатива - не строить отношения, пока они вам не понадобятся.
Но без кода трудно дать предложения по улучшению.