Вот мой сценарий:
У меня есть таблица (давайте назовем их) узлов. Первичный ключ для каждого из них просто "node_id".
У меня есть таблица, поддерживающая иерархию узлов, только с двумя столбцами: parent_node_id и child_node_id.
Иерархия поддерживается в отдельной таблице, поскольку узлы могут иметь отношение N: N. То есть один узел может иметь несколько дочерних элементов и несколько родителей.
Если я начну с узла и хочу получить всех его предков (то есть все, что выше иерархии), я мог бы либо сделать несколько операций выбора, либо сделать все это в одной хранимой процедуре.
Кто-нибудь, имеющий практический опыт работы с этим вопросом, знает, какой из них, вероятно, будет иметь наилучшую производительность? Я читал в Интернете вещи, которые рекомендуют оба способа.