Какой подход всего союза должен быть использован?
Вопрос
У нас есть 15 столов для аудита, которые необходимо объединить, чтобы искать корректировки инвентаря только с определенными критериями.
Лучше всего ли составить союз со всеми таблицами, а затем фильтровать критерии или бросить критерии в смесь на каждой таблице, прежде чем составить все союз?
Каждая таблица составляет всего несколько тысяч записей, а окончательный список отфильтрованного списка, как правило, меньше тысячи, что выводится для отчетности.
Приложение Foxpro генерирует таблицы, и у нас мало контроля над дизайном базы данных.
Решение
Как правило, это хорошая практика, чтобы уменьшить количество рядов как можно раньше в запросе, что означает фильтровать каждый запрос, а не фильтровать United ResultSet. Есть шансы, что ваш союз все подключится к созданию временной таблицы, если вы фильтруют после объединения, и это не самое лучшее, если ваши таблицы большие (я имею в виду ... большой).
Я думаю, что мы можем принять исключение из «общей хорошей практики» выше ... в тех случаях, когда наличие фильтров в одной точке значительно улучшает читабельность / обслуживание запроса. (И преимущества превышают потенциальную потерю).