Сойдёмся на том, что простота поддержки в том или ином месте зависит на 146% от команды. Если есть сильные компетенции в области БД, то можно держать логику там (тут уже люди сами могут определить разумные пределы, раз компетенции есть). Если нет компетенций - проще поддерживать код.
У DBA широкий круг обязанностей (https://ru.wikipedia.org/wiki/Администратор_баз_да...
Предполагается, что именно специалист по БД должен писать для неё триггеры и процедуры, потому что программист, не зная нюансов работы конкретной БД, может убить производительности или данные. Как правило, кто пишет схему - тот и правит её в будущем и обычно на крупных проектах это именно DBA. Но компетентный программист, конечно, тоже может этим заниматься.
Что касается "в общем случае, процедуры лучше кэшируются" - это довольно вредное обобщение. Когда дело касается БД, общих случаев почти не бывает, потому что схемы, данные, запросы и железо у всех разные. Каждый запрос нужно профилировать.
С той, из которой экспортируете ничего не будет. При условии, конечно, что вы ничего не перепутали и не поставили какую-то не ту программу для выгрузки.
Вообще, это плохая практика - нужно указывать абсолютный путь от корня веб-сервера именно для того, чтобы не возникало таких вопросов и неожиданностей при переносе файлов между директориями. Понятно, что вам это от кого-то досталось, просто информация.
Сортировка идёт последовательно - сначала сортируется по первому указанному полю, потом те строки, у которых первое поле имеет одинаковое значение, сортируются по второму указанному полю и так далее.
Ещё раз - у вас на скриншоте 5 строк. В каком порядке они должны быть отсортированы? Прямо каждая из строк на каком месте должна быть? Из вашего описания ничего непонятно.
Во-первых, таким образом вы избавляетесь от ситуации, когда в переменной хранится то строка, то число. А во-вторых, если в shortest уже хранится число, а не строка, вызов shortest.length вернёт undefined.