Я не уверен, что это обязательно связано с базой данных, поскольку у вас может быть сложная и дорогая процедура (например, больше, чем флаг) для применения фильтра для группы.
Не думаю, что у него есть имя, поскольку первый дизайн просто не годится и нарушает принцип единственной ответственности. Если вы ищете, фильтруете и печатаете отфильтрованные, вы делаете несколько вещей, поэтому вам нужно преобразовать его в «отфильтрованный поиск» и распечатать.
Единственное, что отличается от простого рефакторинга здесь, заключается в том, что он также влияет на производительность, так же как внутренние циклы могут быть спроектированы таким образом, чтобы наносить ущерб производительности.