Это просто вопрос использования более простого запроса для выбора.Разницы в скорости не будет, однако стоимость запроса объединения не должна быть намного хуже (в большинстве случаев), чем если бы вы хранили все данные в одной таблице.
Если таблицы действительно той же структуры, вы могли бы также рассмотреть другой дизайн, в котором вы использовали одну таблицу для хранения и два представления для логического разделения записей:
CREATE VIEW table_a AS SELECT * FROM table_all WHERE rec_type = 'A'
CREATE VIEW table_b AS SELECT * FROM table_all WHERE rec_type = 'B'
Поскольку это неагрегированные таблицы с одной таблицейПРОСМОТР, вы можете использовать их как таблицы в INSERT, UPDATE, DELETE и SELECT, но у вас есть преимущество в том, что вы также можете программировать против table_all, когда это имеет смысл.Преимущество этого решения перед вашим решением заключается в том, что вы можете обновлять данные как для table_a, table_b , так и table_all, и у вас нет двух физических таблиц для обслуживания.