Мой первый вопрос: что вы планируете делать с данными в таблице? Предварительная загрузка полной таблицы в память - не всегда лучший подход, например, сохранение текущих настроек, но загрузка по требованию может быть лучшим решением. И вы, возможно, захотите исследовать сбрасываемые данные, которые какое-то время не используются, то есть вид недавно использованной карты.
Не могли бы вы рассказать, что ваша задача пытается достичь с помощью всех этих данных, кэшированных на карте?
Является ли идентификация "жертвы" частью ключа или частью объекта? Если часть объекта, как вы выбираете ключи, которые выбирают объекты, которые вам нужны? Другими словами; Похоже, вы пытаетесь воспроизвести функциональность, в которой база данных очень хороша.
Если ваша проблема заключается в том, что содержимое вашей таблицы не отображается легко в древовидной структуре, вы можете добавить эту информацию таким образом, чтобы ее можно было использовать через интерфейс БД.