Ну эвристики понятно, то есть нет какой-то стройной теории как это делать в общем случае?
Я не буду врать что нет совсем, потому что не настолько глубоко погружался но очевидно что оптимизируя такую дб ты решаешь задачу оптимизации на графе что интуитивно понятно что сложно: всякие Кенигсбергские мосты, задача почтальона и прочие прелести