Twoje rozwiązanie obecnie tworzy tabelę key_ids skojarzonych z każdym identyfikatorem konsumenta. Jeśli potrzebujesz tylko najnowszych, odpowiedzi na inne wątek jest poprawne. Ponieważ agregujesz najnowsze wartości z tabel rachunków i płatności, najlepszym sposobem jest połączenie podzapytania w uporządkowanej tabeli.
Nie jestem pewien, co masz na myśli, pobierając całe dane z tabel rachunków i płatności. Jeśli masz na myśli pełne skanowanie tabel, powinno to zostać złagodzone przez odpowiednie indeksowanie i/lub partycjonowanie.
Czy chcesz, aby Twoja księga była pełną listą wszystkich rachunków i płatności dokonywanych przez konsumenta? Twoje pytanie sprawia wrażenie, że zależy Ci tylko na najnowszych.